HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递message- header,即httpheader消息。httpheader 消息通常被分为4个部分:general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确。
根据维基百科对httpheader内容的组织形式,大体分为Request和Response两部分。
HTTP消息的结构
我们常用firebug抓取到如下的http请求信息:
先看Request 消息的结构, Request 消息分为3部分,第一部分叫Request line, 第二部分叫Request header, 第三部分是body. header和body之间有个空行, 结构如下图:
第一行中的Method表示请求方法,比如"POST","GET", Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号当使用的是"GET" 方法的时候, body是为空的。
Response消息的结构, 和Request消息的结构基本一样。 同样也分为三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之间也有个空行, 结构如下图:
HTTP/version-number表示HTTP协议的版本号, status-code 和message 请看《HTTP 状态消息列表》的详细解释.
下面我们将对http请求的这两部分展开详细说明:
Requests部分
Responses 部分
欲想查看每个字段的更多详细信息,参考 w3c官网:Header Field Definitions(en-这里将对请求的每个字段做出最详细的说明)
更多http协议的信息,参考w3c官网:Hypertext Transfer Protocol -- HTTP/1.1
网友评论