2012-04-26 82 views
2

我希望能夠在不下載的情況下知道遠程文件的大小。我知道有一些解決方案使用「Content-length」標頭值,但對於某些鏈接,此標頭缺失。在這種情況下,解決方案是下載整個文件,但是如果文件大於1Gb,會發生什麼情況。如何知道內容長度

下載管理器用於查找遠程文件大小的方式是什麼?

如果您有任何語言的解決方案,我會接受。謝謝。

回答

2

Content-length是一個可選標題,它指定了HTTP協議中資源的長度。

這裏有一些細節上:HTTP/1.1: Header Field Definitions - 14.13 Content-Length

基本上,這是顯着的部分:

應用程序應使用該字段來指示傳輸長度的 所述消息體,除非這是第 中的規則禁止使用4.4。

而部分4.4 Message Length也應該幫助你。

我知道有一些解決方案使用「內容長度」標題,但是對於很少的鏈接它不存在。

如果服務器沒有發送任何類型的內容長度,就沒有辦法知道確切的大小(除了4.4節中描述的特殊情況)。因此,下載管理器將會預先知道不知道的長度,並且會將下載到服務器停止發送數據爲止的所有內容。