这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天。
一、什么是HTTP
Hyper Text Transfer Protocol超文本传输协议
应用层协议,基于TCP协议
请求 响应
简单可扩展
无状态
二、报文
1.Method
Safe(安全的):不会修改服务器的数据的方法。
ldempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的
所有safe的方法都是Idempotent的。
2.RESTful API
一种API设计风格
- 每一个URI代表一种资源;
- 客户端和服务器之间,传递这种资源的某种表现层;
- 客户端通过HTTP method,对服务器端资源进行操作,实现"表现层状态转化"。
3.缓存
强缓存
Expires,时间戳
Cache-Control
可缓存性:
no-cache:协商缓存验证
no-store:不使用任何缓存
到期:
max-age:单位是秒,存储的最大周期相对于请求的时间
重新验证*重新加载:
must-revalidate:一旦资源过期,在成功向原始服务器验证之前,不能使用。
协商缓存
Etag/If-None-Match:资源的特定版本的标识符,类似于指纹
Last-Modified/lf-Modified-Since:最后修改时间
4.概述
- 帧(frame):HTTP/2 通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
- 消息: 与逻辑请求或响应消息对应的完整的一系列帧。
- 数据流: 已建立的连接内的双向字节流,可以承载一条或多条消息。
- 流控制:阻止发送方向接收方发送大量数据的机制
HTTP/2 连接都是永久的,而且仅需要每个来源一个连接。
5.HTTPS概述
HTTPS: Hypertext Transfer Protocol Secure
经过TSL/SSL加密
- 对称加密:加密和解密都是使用同一个密钥
- 非对称加密,加密和解密需要使用两
- 个不同的密钥:公钥(public key)和私钥(private key)
三、个人学习总结
巩固了HTTP基础知识,加强了记忆。