如何知道内容长度

时间:2012-04-26 07:04:34

标签: http http-headers

我希望能够在不下载的情况下知道远程文件的大小。我知道有一些解决方案使用" Content-length"标头值,但对于某些链接,此标头丢失。在这种情况下,解决方案是下载整个文件,但是如果文件大于1Gb会发生什么。

下载管理器用于查找远程文件大小的方式是什么?

如果您有任何语言的解决方案,我会接受。谢谢。

1 个答案:

答案 0 :(得分:2)

Content-length是一个可选标头,用于指定HTTP协议中资源的长度。

以下是其中的一些细节:HTTP/1.1: Header Field Definitions - 14.13 Content-Length

基本上,这是值得注意的部分:

  

应用程序应该使用此字段来指示传输长度   消息体,除非这部分规则禁止   4.4。

4.4 Message Length部分也可以为您提供帮助。

  

我知道有一些解决方案使用“Content-length”标题但是   对于少数链接,它不存在。

如果服务器没有发送任何类型的Content-Length,则无法确定大小(第4.4节中描述的特殊情况除外)。因此,下载管理器会事先不知道长度,下载所有内容,直到服务器停止向其提供数据。