浅谈HTTP协议(一)--结构

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Internet是由各个协议连接起来的,而我们现在使用最广的莫过于HTTP协议了,也就是超文本传输协议,与FTP(文件传输协议)不同,由于主要用于超文本传输,因此HTTP协议显得更简单一点。今天我们来介绍一下HTTP协议的基本格式。

在这里,我们所谈及的HTTP协议以HTTP/1.1为标准,并且使用NetVampirePro4.0来取得与HTTP服务器的通信Log,您也可以使用其它的HTTP下载工具来取得通信Log。

在HTTP协议中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器或者下载工具等等。在通讯时,由客户端发出请求连接,服务端建立连接;然后,客户端发出HTTP请求(Request),服务端返回响应信息(Respond),由此完成一个HTTP操作。我们来通过一个例子来了解这个过程:(以下是NetVampire进行的一次连接,以下红色字体为作者添加)

P01-5-2616:10:43Connectingtogo2.163.com...//连接服务器

P01-5-2616:10:44Connectedtogo2.163.com[61.129.65.148]//解析IP地址,以下为HTTP操作

S01-5-2616:10:44GET/~minift/epretty/pretty.zipHTTP/1.1//请求行(RequestLine),表示使用GET方式取得文件,使用HTTP/1.1协议

//以下为请求头部(RequestHead)

S01-5-2616:10:44Connection:close//表示非持续性连接

S01-5-2616:10:44Host:go2.163.com//主机名称

S01-5-2616:10:44Accept:*/*//接受的数据类型

S01-5-2616:10:44Pragma:no-cache//参数(与以前的服务器兼容)

S01-5-2616:10:44Cache-Control:no-cache//不使用缓存

S01-5-2616:10:44Referer:http://go2.163.com/~minift/epretty//从该网址转来

S01-5-2616:10:44User-Agent:Mozilla/4.04[en](Win95;I;Nav)//客户端标识

S01-5-2616:10:44Cookie:AdId=ACDDAAAAAAA

S01-5-2616:10:44//以下为Respond

R01-5-2616:10:47HTTP/1.0200OK//响应行(RespondLine),服务器使用HTTP/1.0协议,状态值(StatusCode)为200,状态为OK,表示文件可以读取

R01-5-2616:10:47Date:Sat,26May200108:15:54GMT//现在的时间,用格林威治时间表示

R01-5-2616:10:47Server:Apache/1.3.14(Unix)mod_layout/2.9.9//服务器类型

R01-5-2616:10:47Last-Modified:Fri,04May200102:42:56GMT//文件最后更新时间

R01-5-2616:10:47ETag:"e614cf-37965-3af21730"

R01-5-2616:10:47Accept-Ranges:bytes//接受的范围单位

R01-5-2616:10:47Content-Length:227685//文件长度

R01-5-2616:10:47Content-Type:application/zip//MIME类型

R01-5-2616:10:47X-Cache:MISSfromshca8

R01-5-2616:10:47X-Cache-Lookup:MISSfromshca8:80

R01-5-2616:10:47Connection:close//表示文件传输完毕就关闭连接。

R01-5-2616:10:47//以下为文件传输

P01-5-2616:10:47Datatransferstarted

下面来讲解使用的格式(LRCF=@13@10,即回车,SP=SPACE,即空格)

Request:

协议方式SP文件URISP协议版本LRCF(请求行)

(以下为头部)

头部类型:头部值LRCF

头部类型:头部值LRCF

头部类型:头部值LRCF

......

LRCF表示头部结束

(假如有体部,以下为体部)

Respond:

协议版本SP状态值SP状态描述LRCF(响应行)

(以下为头部)

头部类型:头部值LRCF

头部类型:头部值LRCF

头部类型:头部值LRCF

......

LRCF表示头部结束

(假如有体部,以下为体部)

由上可见,请求与相应的格式只有部分不同,是很轻易理解的,现在你应该基本了解HTTP协议了吧,也能看懂那些通信Log了吧,下一次我们讲专门讲解在响应行中的状态值含义及一些非凡情况。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航