一、HTTP请求报文

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成。

HTTP请求报文和HTTP响应报文_字段

 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。
GET 完整请求一个资源;
POST 提交表单;
HEAD 仅请求响应首部;
PUT 上传更新资源;
DELETE 删除资源;
TRACE 追踪一次资源请求中间所经过的代理;
OPTIONS 返回请求资源所支持的通信选项;
CONNECT 保留,将来使用。

HTTP请求头包括的信息:

Accept:浏览器能够处理的内容类型

Accept-Charset:浏览器能够显示的字符集

Accept-Encoding:浏览器能够处理的压缩编码

Accept-Language:浏览器当前设置的语言

Connection:浏览器与服务器之间连接的类型

Cookie:当前页面设置的任何Cookie

Host:发出请求的页面所在的域

Referer:发出请求的页面的URL

User-Agent:浏览器的用户代理字符串

Date: 客户端请求服务端的时间

Authorization:当客户端接收到来自WEB服务器的WWW-Authenticate响应时,用该头部来回应自己的身份验证信息给WEB服务器

Range:浏览器告诉服务器自己想取对象的哪部分

二、HTTP响应报文

HTTP响应报文由三个部分组成,分别是:状态行、消息报头、响应正文。

状态行包括:服务器HTTP协议的版本、服务器发回的响应状态代码、状态代码的文本描述。

HTTP响应头部包括的信息:

Location: http://www.baidu.com(服务端需要客户端访问的页面路径)

Server:apache tomcat(服务端的Web服务端名)

Content-Encoding: gzip(服务端能够发送压缩编码类型)

Content-Length: 80(服务端发送的压缩数据的长度)

Content-Language: zh-cn(服务端发送的语言类型)

Content-Type: text/html; charset=GB2312(服务端发送的类型及采用的编码方式)

Last-Modified: Tue, 18 Jul 2017 12:15:02 GMT(服务端对该资源最后修改的时间)

Refresh: 1;url=http://www.helloyoucan.com.(服务端要求客户端1秒钟后,刷新,然后访问指定的页面路径)

Content-Disposition: attachment; filename=aaa.zip(服务端要求客户端以下载文件的方式打开该文件)

Transfer-Encoding: chunked(分块传递数据到客户端)

Set-Cookie:SS=Q0=5Lb_nQ; path=/search(服务端发送到客户端的暂存数据)

Expires: -1//3种(服务端禁止客户端缓存页面数据)

Cache-Control: no-cache(服务端禁止客户端缓存页面数据)

Pragma: no-cache(服务端禁止客户端缓存页面数据)

Connection: close(1.0)/(1.1)Keep-Alive(维护客户端和服务端的连接关系)

Date: Tue, 18 Jul 2017 12:18:03 GMT(服务端响应客户端的时间)