2015-10-15 53 views
0

当呈现网页时,是在页面呈现之前发送的http状态代码200还是页面需要完全呈现,直到发送状态代码200?所有代码执行完毕后是否发送状态码200?

+2

的HTTP代码是在HTTP头发送,网页的代码之前。 – Oriol

+0

HTTP Headers(以及状态)在主体(HTML)之前发送。所以在浏览器收到一个HTML之前,浏览器已经有了状态码 – Reeno

回答

1

状态码与正在呈现的页面无关;状态码由服务器返回,作为对资源请求的响应(如HTML页面)。这是服务器告诉浏览器的一种方式:“嘿,我发现你要求的东西在这里。”

作为从服务器返回的页面数据的标题中的第一条信息之一到达浏览器。浏览器对此页面数据的处理方式,以及它如何以及何时呈现它,这些都是事后发生的,并且与没有浏览器知识的服务器没有关联。

1

状态码是首先发送到客户端浏览器之前的任何其他事情。您可以在浏览器的开发人员工具“网络”选项卡中看到这一点。

2

按照RFC 2616,

6响应

接收和解释的请求消息之后,服务器响应 与HTTP响应消息。

6.1状态行

一个响应消息的第一行是状态行,由 协议版本后跟数字状态码和其 相关联的文本短语

6.1.1状态码和原因短语

状态码元素是一个3位整型结果码t他试图理解并满足要求。这些代码完全在section 10中定义的 。

因此,状态码在响应开始时发送,在实际内容之前发送。

+0

@Orial感谢参考RFC 2616,但是我没有在这个文档中看到它说明了状态代码在内容呈现之前被发送。 (虽然很有可能的答案是) –

+0

@ blue-sky“* ** Response **消息的**第一行**是状态行,**由协议版本后跟一个数字**状态码**及其相关文字短语*“ – Oriol