HTTP协议的结构

1、 简介
   HTTP(HyperText Transfer Protocol),中文名称为超文本传输协议,工作在OSI七层体系中的应用层,属于高层应用协议。
   HTTP协议主要用在浏览器和Web服务器之间进行通信。
   HTTP协议使用明文进行传输,如果需要加密传输,可以使用https(注:j2me暂时不支持)。
2、HTTP协议版本
   HTTP协议有3个版本,依次是0.9、1.0、1.1。当前最新版本是1.1,但是1.0受到普遍支持。
3、协议格式
   HTTP协议是使用明文进行传输,协议主要分为三个部分:
   a)请求行/响应行:该部分只有一行,包含三个部分:请求方法 请求资源 使用的HTTP协议的版本。例如:
         get /index.html http/1.1
    其中get为请求方法,/index.html是请求的资源,http/1.1是指客户端支持的HTTP协议的版本。http1.0请求方法有3种,http1.1请求方法有7种。 HTTP方法常用的有GET、HEAD、POST,而PUT、DELETE、LINK、UNLINK方法 
   b)头信息:头信息部分主要传输服务器或者客户端的一些设定信息,可以有任意多个,传输时使用“名称:值”的形式,例如:
      Accept-Language: zh-cn
      User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
     其中HTTP协议里面规定了40多个头信息名称的用途,你也可以根据需要,自己来进行定义。
     头信息结束时需要一个空行和实体数据部分分开。
   c)实体数据:实体数据在请求时,如果以post方式提交时存储参数,以get方式请求时为空。在响应时,存储服务器端反馈的HTML源代码的数据。
4、HTTP连接过程
    在通讯时,由客户端发出请求连接,服务端建立连接;然后,客户端发出HTTP请求(Request),服务端返回响应信息(Respond),由此完成一个HTTP操作。
5、例子:
P 01-5-26 16:10:43 Connecting to go2.163.com ...          //连接服务器
P 01-5-26 16:10:44 Connected to go2.163.com [61.129.65.148]     //解析IP地址,以下为HTTP操作
S 01-5-26 16:10:44 GET /~minift/epretty/pretty.zip HTTP/1.1    //请求行(Request Line),表示使用GET方式取得文件,使用HTTP/1.1协议 //以下为请求头部(Request Head)
S 01-5-26 16:10:44 Connection: close                //表示非持续性连接
S 01-5-26 16:10:44 Host: go2.163.com                //主机名称
S 01-5-26 16:10:44 Accept: */*                   //接受的数据类型
S 01-5-26 16:10:44 Pragma: no-cache                //参数(与以前的服务器兼容)
S 01-5-26 16:10:44 Cache-Control: no-cache             //不使用缓存
S 01-5-26 16:10:44 Referer: http://go2.163.com/~minift/epretty  //从该网址转来
S 01-5-26 16:10:44 User-Agent: Mozilla/4.04 [en] (Win95; I ;Nav) //客户端标识
S 01-5-26 16:10:44 Cookie: AdId=ACDDAAAAAAA
S 01-5-26 16:10:44                         //以下为Respond
R 01-5-26 16:10:47 HTTP/1.0 200 OK   //响应行(Respond Line),服务器使用HTTP/1.0协议,状态值(Status Code)为200,状态为OK,表示文件可以读取
R 01-5-26 16:10:47 Date: Sat, 26 May 2001 08:15:54 GMT       //现在的时间,用格林威治时间表示
R 01-5-26 16:10:47 Server: Apache/1.3.14 (Unix) mod_layout/2.9.9  //服务器类型
R 01-5-26 16:10:47 Last-Modified: Fri, 04 May 2001 02:42:56 GMT   //文件最后更新时间
R 01-5-26 16:10:47 ETag: "e614cf-37965-3af21730"
R 01-5-26 16:10:47 Accept-Ranges: bytes              //接受的范围单位
R 01-5-26 16:10:47 Content-Length: 227685             //文件长度
R 01-5-26 16:10:47 Content-Type: application/zip          //MIME类型
R 01-5-26 16:10:47 X-Cache: MISS from shca8
R 01-5-26 16:10:47 X-Cache-Lookup: MISS from shca8:80
R 01-5-26 16:10:47 Connection: close                //表示文件传输完毕就关闭连接。
R 01-5-26 16:10:47                         //以下为文件传输

HTTP 1.1 RFC 地址:RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1:http://www.w3.org/Protocols/rfc2616/rfc2616.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值