Php 动态网页是否总是在HTTP头中包含内容长度字段?

Php 动态网页是否总是在HTTP头中包含内容长度字段?,php,asp.net,http,Php,Asp.net,Http,像CGI、PHP、ASP、SSI这样的动态页面是否总是在HTTP头中包含内容长度字段。如果不是,为什么?请提供指向服务器上托管的网页的链接,这些服务器的标题中不包含“内容长度”字段。我想亲眼看看。根据RFC 2616: 在HTTP中,它应该在任何时候发送 消息的长度可以确定 在被转移之前 通常情况下,长度无法事先确定。如果要签出标题,请尝试curl-I。你很快就会发现,有些网站有,有些网站没有。我认为网页不必总是发送内容长度。 在浏览器端,如果浏览器知道内容长度,则可以显示加载栏,否则只需等待查

像CGI、PHP、ASP、SSI这样的动态页面是否总是在HTTP头中包含内容长度字段。如果不是,为什么?请提供指向服务器上托管的网页的链接,这些服务器的标题中不包含“内容长度”字段。我想亲眼看看。

根据RFC 2616:

在HTTP中,它应该在任何时候发送 消息的长度可以确定 在被转移之前


通常情况下,长度无法事先确定。如果要签出标题,请尝试
curl-I
。你很快就会发现,有些网站有,有些网站没有。

我认为网页不必总是发送内容长度。

在浏览器端,如果浏览器知道内容长度,则可以显示加载栏,否则只需等待查看“文件结尾”。如果发送文件,最好发送内容长度,否则用户无法看到此加载栏,无法确保文件已完全加载。但是,如果您只有一个页面,浏览器只需加载,直到结束

原因是一些页面可以在客户端发送数据时创建内容。这样用户无需等待太多时间就能看到第一个数据

本页就是一个例子。同样,出于同样的原因,亚马逊没有在大多数页面上发送内容长度


页面在找到第一项后会刷新数据,然后会不断刷新数据,因此用户无需花费时间等待程序首先找到所有项,然后计算页面大小,然后开始发送数据。

以及。虽然不能完全确定是否所有语言都遵守这些规则,但它可以让您很好地了解何时会保留这些规则out@TBohnen.jnr:那么,即使服务器不提供内容长度,所有传输编码是否仍有可能让客户端知道它是否收到了完整的请求?我不能肯定地说是,但我认为在大多数情况下可以这样假设。我过去在使用php和asp.net web服务时遇到过问题,其中标题中的内容长度与实际内容长度不匹配,但情况不同:-)“一些http服务器(更准确地说,是cgi程序)发送虚假的内容长度标题”-RFC中的“应该”表示特定的内容。如果您以前没有读过RFC,请花点时间阅读顶部的位,其中解释了应该/必须/等等之间的区别