这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天。
初始HTTP
TCP协议的特点是:
- 面向连接
- 一对一
- 可靠交付
无状态是指没有记忆能力,每个请求都是独立的
协议分析
发展
HTTP 0.9 :请求GET/mypage.html,响应只有HTML文档
HTTP 1.0: 增加了Header 有了状态码、支持多种文档类型
HTTP 1.1 标准化协议:链接复用、缓存 内容协商
HTTP 2 : 二进制协议 压缩header 服务器推送
Method
safe(安全的):不会修改服务器的数据的方法
Idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。所有safe的方法都是Idempotent的
RESTful API
一种API设计风格
- 每一个URI代表一种资源
- 客户端和服务器之间,传递这种资源的某种表现层
- 客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”
常用请求头
缓存
cookie
same-site:有效顶级域名(eTLD)+1的规则查找得到的一级域名是否相同来判断是否是同站请求
HTTP/2
帧:http/2通信的最小单位,每个帧都包含帧头、二进制
消息:与逻辑请求或响应消息对应的完整的一系列帧
数据流:已建立的连接内的双向字节流,可以承载一条或多条消息
HTTP/2 连接都是永久的,而且仅需要每个来源一个连接,流控制:阻止发送方向接收方发送大量数据的机制、服务器推送
场景分析
- 静态资源/登录分析:打开浏览器调试窗口中的network标签,查看相应的资源状况。
- 跨域:该图片展示跨域的情况。相应的有跨域问题解决方案。之前写小项目一般是用CORS来解决,还可以使用代理服务器来处理跨域问题。