【发布时间】:2010-10-17 15:07:29
【问题描述】:
我正在开发一个简单的下载应用程序。在请求以下文件时,firefox 和我的应用程序都没有获得 content-length 字段。但是,如果我使用 wget 服务器发出请求,则会发送内容长度字段。我确实更改了 wgets 用户代理字符串以进行测试,它仍然得到了 content-length 字段。
任何想法为什么会发生这种情况?
wget 请求
---request begin---
GET /dc-13/video/2005_Defcon_V2-P_Zimmerman-Unveiling_My_Next_Big_Project.mp4 HTTP/1.0
User-Agent: test
Accept: */*
Host: media.defcon.org
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.0 200 OK
Server: lighttpd
Date: Sun, 05 Apr 2009 04:40:08 GMT
Last-Modified: Tue, 23 May 2006 22:18:19 GMT
Content-Type: video/mp4
Content-Length: 104223909
Connection: keep-alive
火狐请求
GET /dc-13/video/2005_Defcon_V2-P_Zimmerman-Unveiling_My_Next_Big_Project.mp4 HTTP/1.1
Host: media.defcon.org
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.0.8) Gecko/2009032608 Firefox/3.0.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.defcon.org/html/links/defcon-media-archives.html
Pragma: no-cache
Cache-Control: no-cache
HTTP/1.x 200 OK
Server: lighttpd
Date: Sun, 05 Apr 2009 05:20:12 GMT
Last-Modified: Tue, 23 May 2006 22:18:19 GMT
Content-Type: video/mp4
Transfer-Encoding: chunked
更新:
是否有我可以发送的标头告诉 Lighthttpd 不要使用分块编码。我最初的问题是我正在使用urlConnection 在我的 java 应用程序中获取文件,它会自动发送 HTTP 1.1 请求。
我想知道文件的大小,以便更新我的百分比。
【问题讨论】:
-
如果您支持 HTTP 1.1,您必须支持分块编码。
标签: http http-headers