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
HTTP协议的结构
最新推荐文章于 2024-04-24 12:00:04 发布