Http报文HTTP请求报文由请求行、请求头部、空行和请求包体4个部分组成 , 如下图所示:
文章插图
1.1、通用报文
- General: //通用报文
- Request Method: GET
- Status Code: 200 OK
- Remote Address: 47.111.45.248:80
- Referrer Policy: origin
文章插图
- Request Headers: //客户端请求头
- Accept : image/webp,image/apng,image/*,*/*;q=0. //浏览器客户端告诉告诉服务端能接受什么样类型的数据
- Accept-Encoding: gzip, deflate //浏览器客户端告诉服务器能接受什么编码格式 , 包括字符编码 , 压缩方式
- Accept-Language: zh-CN,zh;q=0.9 //客户端告诉浏览器接受什么样的语言
- Accept-Ranges: bytes //断点续传
- ETag: "23411b8a827d31:0”. //304
- Cache-Control : no-cache
- Connection : keep-alive //客户端告诉服务端的连接方式: 长连接
- X-UA-Compatible: IE=10
- X-Frame-Options: SAMEORIGIN
- Cookie: _ga=GA1.2.1796862747.1547952793; __gads=ID=60d16307ea494dae:T=1547952794:S=ALNI_MYsoIBtEfg7-PJNMTds68JgtxnQrw; UM_distinctid=168832d7c157de-0ad85a26ff65a-35617601-13c680-168832d7c168b3;
- Host: www.cnblogs.com 。//要请求的主机及端口 目的地
- Pragma: no-cache
- Referer: http://www.cnblogs.com/ //客户端告诉浏览器这个请求是从哪里过来的 , 请求来源
- User-Agent: Mozilla/5.0 (macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/73.0.3683.86 Safari/537.36 。//浏览器指定 , 告诉服务器 , 使用的浏览器的版本和名称自动发送
1.3、响应报文
文章插图
- Response Headers: //服务器返回http头
- HTTP/1.1 200 OK
- Date: Tue, 16 Apr 2019 05:13:48 GMT //什么时候响应会浏览器
- Content-Type : image/x-icon 。//响应的内容是什么类型 , 采用的是什么编码 , 对应请求的accept设置内容
- Content-Length : 1332 //服务端告诉浏览器相应实体的大小
- Connection: keep-alive /close //服务端告诉浏览器连接的方式为长连接 , 管道连接 , 异步响应http的请求 , http1.1 , 提高效率;
- Cache-Control : max-age=120. //服务端告诉浏览器缓存的时间最长为120s
- Last-Modified : Fri, 28 Jul 2017 09:18:56 GMT //服务器文本最后一次修改的时间. 304
(0)、Connection: keep-alive /close 服务端告诉浏览器连接的方式为长连接 , 管道连接 , 异步响应http的请求 , http1.1 , 提高效率;
(1)、MIME Type:是描述消息内容类型的因特网标准 , 常见的数据几种类型
- 文本文件:text/html,text/plain,text/css,application/xhtml+xml,application/xml
- 图片文件:image/jpeg,image/gif,image/png.
- 视频文件:video/mpeg,video/quicktime
- 第一种是 Accept-客户端
- 第二种是 Content-Type-服务器
Content-Type : 表示发送端发送的实体数据类型 , 比如我们应该写过类似的: resposne.setContentType(“application/json;charset=utf-8”)的代码 , 表示服务端返回的数据 格式是 json 。
如果 Accept 和 Content-Type 不一致 , 假如说 Accept 要接收的类型是 image/gif , 但是服务 端返回的数据是 text/html , 那么浏览器将会无法解析 。
(2) .Cache-Control 作用:
客户端浏览器用来判断是否需要用本地缓存 。默认值为private;常用值有private、no-cache、max-age、must-revalidate 。
推荐阅读
- 笔记本配置两个网络同时上外网和内网
- 超大文件传输 | 网络直连与雷电网桥
- 同样是写作赚钱,写长篇网络小说和写自媒体文章哪个更容易变现?
- TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?
- Winserver2019 web服务器使用自签名证书进行https加密域名访问
- NaaS 网络即服务是未来的趋势
- 网络地址+端口转换,解决公网地址不足的方案
- 华为|关于6G华为发话了!2030年通信网络将有这六大特点
- 一次Dubbo拥堵的分析
- 什么是IFPS?与现阶段的HTTP协议有什么区别?