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 报文相关的内容。