HTTP客户端协议分析
客户用它自己的端口数,建立一个到服务器的双向TCP连接,
一旦连接已经建立起来,客户就向服务器发送一个请求request,
可以是这样的请求:
GET /products/productlist.htm HTTP/1.1
服务器识别这个请求,通常情况是GET请求,假设请求的文件在服务器目录 /products 目录下。
紧随其后的是请求头(request header),通常请求头描述了客户端的性能:
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/x-jg,
*/* Accept_Language:en
UA_pixels: 1.24*768
UA_color: color 8
UA_OS: Windows NT
UA_CPU: X86
User_Agent: Mozilla/2.0(Compatible:MSIE 3.0;AK;Windows NT)
Host: www.chinadev.net
Connection: Keep_Alive
If_Modified_Since: Wed,26 Mar 1997 20:23:04 GMT
(空行)
头 If_Modified_Since 告诉服务器,如果productlist.htm在1997年3月26日以后没有被修改过,
就不要传送了,意味着浏览器的缓冲区中已经有一份文件在该日期的拷贝了。
请求头末尾的空行告诉服务器终止接收请求信息,可以开始传送了。
(因为TCP协议已经打开了,用空行通知服务器是唯一的方法)