动态网页是否始终包含HTTP标头中的内容长度字段?

时间:2011-04-08 16:44:28

标签: php asp.net http

CGI,PHP,ASP,SSI等动态页面始终在HTTP标头中包含内容长度字段。如果不是为什么?请提供指向服务器上托管的网页的链接,这些网页不包含标题中的Content-Length字段。我想亲眼看到它。

2 个答案:

答案 0 :(得分:4)

根据RFC 2616:

  

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

通常情况下,无法事先确定长度。如果您想查看标题,请尝试curl -I http://www.example.com。您很快就会看到有些网站会这样做而某些网站却没有。

答案 1 :(得分:1)

我认为页面不需要总是发送内容长度。

从浏览器端,如果浏览器知道内容长度可以显示加载栏,或者只是等待看到“文件结束”。如果发送文件最好发送内容长度,否则用户无法看到此加载栏并且无法确定文件是否已满载。但是如果你只有一个页面,浏览器只会加载直到结束。

原因是有些网页可以在客户端发送数据时创建内容。这样用户无需等待太多时间查看第一批数据。

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

页面在找到第一项后刷新数据,然后是时间刷新数据,所以用户不需要花时间等待程序先找到它们,然后计算页面的大小,然后开始发送数据。