今天发现个让我郁闷事,就是为了尝试是否能正确连接,我先用socket建立了一次连接,发了个HEAD的请求。当判定为200后,再准备发送GET请求。可是我发现什么也没GET到。
难道只能每次请求都要建立一次连接的么?
在网上查了一圈后得到结论如下:
1.如果是HTTP 1.0,那么只能一次连接发送一次请求。HTTP 1.1 可以通过发送 “Connection: Keep-Alive\r\n\r\n” 来实现建立一次连接然后发动多次请求。据说是为了应对活动比较频繁的情况的。
但是我这么设定后服务器返回给我的是HTTP 1.1,可是Connection仍然是close。
2.能否保持持续连接也要看对方服务器是否支持,一般的服务器设定都是支持的。但我比较倒霉,赶上个设定为不保持连接的服务器,后来换了个服务器就OK了。
HTTP的请求和响应不是死的,我成功保持连接的服务器返回的头文件里虽然没有给出Connection信息。但确实是可以的。如果需要还是多拿专门软件来测测报头吧。
by lanmeibanban
2010-08-07
阅读(3191) | 评论(0) | 转发(0) |