当呈现网页时,是在页面呈现之前发送的http状态代码200还是页面需要完全呈现,直到发送状态代码200?所有代码执行完毕后是否发送状态码200?
回答
状态码与正在呈现的页面无关;状态码由服务器返回,作为对资源请求的响应(如HTML页面)。这是服务器告诉浏览器的一种方式:“嘿,我发现你要求的东西在这里。”
作为从服务器返回的页面数据的标题中的第一条信息之一到达浏览器。浏览器对此页面数据的处理方式,以及它如何以及何时呈现它,这些都是事后发生的,并且与没有浏览器知识的服务器没有关联。
状态码是首先发送到客户端浏览器之前的任何其他事情。您可以在浏览器的开发人员工具“网络”选项卡中看到这一点。
按照RFC 2616,
6响应
接收和解释的请求消息之后,服务器响应 与HTTP响应消息。
6.1状态行
一个响应消息的第一行是状态行,由 协议版本后跟数字状态码和其 相关联的文本短语
6.1.1状态码和原因短语
状态码元素是一个3位整型结果码t他试图理解并满足要求。这些代码完全在section 10中定义的 。
因此,状态码在响应开始时发送,在实际内容之前发送。
@Orial感谢参考RFC 2616,但是我没有在这个文档中看到它说明了状态代码在内容呈现之前被发送。 (虽然很有可能的答案是) –
@ blue-sky“* ** Response **消息的**第一行**是状态行,**由协议版本后跟一个数字**状态码**及其相关文字短语*“ – Oriol
这是一般HTTP响应的模式。
Statuts线 一般头 响应头 实体头 -empty线 - -message体佩
接下来,浏览器读取所有并呈现respons。状态码和主体一起发送,但状态码是第一行。
- 1. 是否有可能在所有测试在MStest中执行完毕后运行代码
- 2. http状态码200
- 3. ”状态代码:200 OK(来自ServiceWorker)?
- 4. nginx状态码200和304
- 5. HTTP状态码200 vs 202
- 6. 是否可以在pool.map完成python作业后执行代码?
- 7. Facebook发送按钮返回的状态码200
- 8. 自定义404错误页面发送200状态码
- 9. 执行代码AFTER Recaptcha.reload()完成后
- 10. iPhone:UIDeviceOrientation变更完成后执行代码
- 11. 任务完成后JavaFX执行代码
- 12. Ustream状态代码是否损坏?
- 13. 执行代码HTTP响应发送
- 14. 执行代码时发送事件
- 15. 尽管状态码是200,但发送HTTP-PUT-Request不起作用
- 16. 接收200状态代码而不是201
- 17. HttpClient总是返回从Xamarin类呼叫状态代码200
- 18. 如何用NGRX改变状态后执行一些代码?
- 19. 是否HTTP状态码事
- 20. 在所有测试运行完毕后进行最后清理
- 21. 运行函数如果成功($ .ajax)有200个状态码?
- 22. 如何在响应发送后执行代码?
- 23. PHP - 发送HTTP重定向头后,执行昂贵代码
- 24. 成功ajax:如果是200状态代码运行功能其他功能
- 25. 的HttpResponse代码不是200
- 26. Android:WebView onReceivedHttpError不返回状态码!= 200
- 27. 我不明白的状态码 - 302/200
- 28. 代码将无法执行所有
- 29. Hg代码中的执行命令是否完成?
- 30. 执行动态代码
的HTTP代码是在HTTP头发送,网页的代码之前。 – Oriol
HTTP Headers(以及状态)在主体(HTML)之前发送。所以在浏览器收到一个HTML之前,浏览器已经有了状态码 – Reeno