HTTP协议 报文结构
HTTP 协议的报文分为两种:请求报文和响应报文。它们的总体结构大体相同,都是由报文首部+空行+报文主体三部分组成。
1. HTTP 请求报文
HTTP 请求报文由方法、URI、 HTTP 版本。 HTTP 首部字段等构成。
下面是一个访问 my_view_page.php 的请求报文首部信息:
GET /my_view_page.php HTTP/1.1 Host: 10.0.17.183:8000 Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) Apple WEB Kit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/ WEB p,*/*;q=0.8 Referer: http://10.0.17.183:8000/my_view_page.php Accept-Encoding: gzip, deflate, sdch
2. HTTP 响应报文
HTTP 响应报文由 HTTP 版本、状态码(数字和原因短语)、 HTTP 首部字段 3 部分组成。
以下是刚才访问 my_view_page.php 时服务器返回的响应报文首部信息:
HTTP/1.1 200 OK Cache-Control: no-store, no-cache, must-revalidate Date: Tue, 26 Jul 2016 09:32:11 GMT Expires: Tue, 26 Jul 2016 09:32:12 GMT Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 3892 Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 26 Jul 2016 09:32:12 GMT
报文中含有众多的字段,其中又以 HTTP 首部字段内容最丰富,其同时存在于请求和响应中,并涵盖 HTTP 报文相关的内容。