这是我参与「第四届青训营 」笔记创作活动的第1天
初识HTTP-什么是HTTP?
HTTP是Hyper Text Transfer Protocol(超文本传输协议)
- 应用层协议,基于
TCP/IP协议 - 该协议是用于从万维网服务器传输超文本到本地浏览器的传送协议
- 用大白话来说:HTTP就是一种约定协议,一种客户端跟服务端之间的约定协议。
协议分析-报文
HTTP报文可以理解为被传送的东西,也就是上述通信过程传递的东西,报文有两种。
- 有从客户机到服务器的
请求报文 - 也有从服务器到客户机的响应报文或者叫
应答报文
请求报文
- 请求报文格式如下:
请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体
应答报文
- 应答报文格式如下:
状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用
- 1XX:消息状态码。
- 2XX:成功状态码。
- 3XX:重定向状态码。
- 4XX:客户端错误状态码。
- 5XX:服务端错误状态码
缓存
缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。
- 强缓存即强制直接使用缓存。
- 协商缓存就得和服务器协商确认下这个缓存能不能用。
缓存--强缓存:
-
Expires,时间戳 -
Cache-Control可缓存性 其一:no-cache:协商缓存验证 ,其二:no-store:不使用任何缓存。 -
到期max-age:单位是秒,存储的最大周期,相对于请求的时间 -
重新验证*重新加载must-revalidate:一旦资源过期,在成功向原始服务器验证之前,不能使用
缓存--协商缓存:
-
Etag/if-None-Match:资源的特定版本的标识符,类似于指纹 -
Last-Modified/If-Modified-Since:最后修改时间