如何正确处理客户端Connection: close
请求字段?截至目前,如果我得到这个特定的领域,我关闭套接字并等待来自客户端的以下请求,而不是再次回复并开始提供数据。如何在HTTP文件服务器上正确处理客户端“连接:关闭”请求?
我不知道为什么我的客户端/服务器通信不能像我测试过的Apache服务器那样工作。
感谢任何澄清...
客户端/服务器交际:
CLIENT:
HEAD /stream.mpeg HTTP/1.0
Host: 127.0.0.1
User-Agent: SuperPlayer
Connection: Close
SERVER:
HTTP/1.0 200 OK
Date: Wed, 1 Jun 2011 20:05:13 GMT
Server: HTTP Server
Last-Modified: Mon, 06 Aug 2009 01:02:23 GMT
Accept-Ranges: bytes
Connection: Close
Content-Type: audio/mpeg
CLIENT:
HEAD /stream.mpeg HTTP/1.0
Host: 127.0.0.1
User-Agent: SuperPlayer
Connection: Close
SERVER:
HTTP/1.0 200 OK
Date: Wed, 1 Jun 2011 20:05:13 GMT
Server: HTTP Server
Last-Modified: Mon, 06 Aug 2009 01:02:23 GMT
Accept-Ranges: bytes
Connection: Close
Content-Type: audio/mpeg
231489172304981723409817234981234acvass123412323
21312hjdfaoi8w34yorhadl4hi8rali45mhalo3i,wmotw
345fqw354aoicu43yocq2i3hr
客户端/ ApacheServer交际:
CLIENT:
GET /test.mp3 HTTP/1.0
Host: 192.168.1.120
User-Agent: SuperPlayer
Connection: Close
SERVER:
HTTP/1.1 200 OK
Date: Wed, 01 Jun 2011 19:15:11 GMT
Server: Apache/2.2.16 (Win32)
Last-Modified: Thu, 29 Apr 2010 21:06:34 GMT
ETag: "14000000047049-4f75c8-4856680636a80"
Accept-Ranges: bytes
Content-Length: 5207496
Connection: close
Content-Type: audio/mpeg
...d.....<).0.. ..........<[email protected] (.h.$.J...1...i....A. ......c....a.9..!g.N...A. ........ ....>......|.......8....a......|..|N.............'>[email protected] .e...r.iL..#..IH...pR|.
啊!我没有注意到HEAD和GET。在我的HTTP服务器上,我读取了HEAD和GET请求,但我不确定为什么当我使用Apache服务器并使用Wireshark捕获数据时,我没有收到HEAD请求......也许某种方式Wireshark没有捕获它? – Jona 2011-06-01 20:40:24
其实我回来了!是的,Wireshark没有读取HEAD请求... :) – Jona 2011-06-01 20:41:44
我无意中忽略了长度字段。感谢你的帖子,我注意到客户端的两个请求实际上存在差异。一个HEAD和另一个GET。现在我可以阅读并正确处理客户端请求。 – Jona 2011-06-01 21:03:34