Chinaunix首页 | 论坛 | 博客
  • 博客访问: 412799
  • 博文数量: 403
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -70
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-05 12:45
文章分类

全部博文(403)

文章存档

2014年(3)

2013年(1)

2012年(3)

2011年(21)

2010年(13)

2009年(64)

2008年(9)

2007年(36)

2006年(253)

分类: 系统运维

2006-08-02 21:01:53

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:~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:
方式SPURISP版本LRCF(请求行)
(以下为头部)
头部类型:头部值LRCF
头部类型:头部值LRCF
头部类型:头部值LRCF
......
LRCF表示头部结束
(如果有体部,以下为体部)

Respond:
版本SP状态值SP状态描述LRCF(响应行)
(以下为头部)
头部类型:头部值LRCF
头部类型:头部值LRCF
头部类型:头部值LRCF
......
LRCF表示头部结束
(如果有体部,以下为体部)
阅读(1658) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~