这是我参与「第五届青训营 」笔记创作活动的第9天。活动详情:# 伴学笔记创作活动来袭 | 第五届字节跳动青训营
初识 HTTP 协议
本节课前置介绍 Http 协议的基本定义和特点,在此基础上,对于 Http 协议的发展历程及报文结构展开进一步分析。
-
HTTP 协议的基本定义:Hyper Text Transfer Protocol 超文本传输协议
-
HTTP 协议的报文结构 Method:Safe Idempotent 所有safe的方法都是Idempotent的
状态码:1XX~5XX
- 1:指示信息,表示请求已接收,继续处理
- 2:成功,请求已被成功接收,理解,接收
- 3:重定向,需完成请求必须进行更进一步的操作
- 4:客户端错误,请求语法错误或请求无法实现
- 5:服务器端错误,服务器未能实现合法请求
-
RESTful API(API设计风格) 每个URL代表一种资源 客户端和服务器之间传递这种资源的某种表现层 客户端通过HTTP method对服务器端资源进行操作,实现表现层状态转化
-
常用请求头/常用响应头
-
缓存:强缓存/协商缓存
-
cookie Set-Cookie-response
-
HTTP/2:帧 消息(一系列帧) 数据流(可承载一条或多条消息) 连接是永久的,仅需要每个来源一个链接(链接的复用性) 流控制:组织发送方向接收方发送大量数据 服务器推送
-
HTTPS:经过TSL/SSL加密 对称加密(同一密钥)、非对称加密(公钥和私钥)混用
HTTP 协议的应用场景分析
在本节课中将为大家带来 HTTP 真实的场景实践,以「今日头条」浏览器为例,为大家展示线上的 demo,对于该案例涉及的请求中的缓存策略展开具体分析。
-
静态资源方案:缓存+CDN+文件名Hash
-
登录:
-
- 表单登录 options请求
-
- 鉴权:Session+cookie/JWT(JSON web token)
-
- 单点登录SSO
-
跨域:cross-origin:协议scheme 子域host_name 端口号port
-
解决跨域的方案:
-
- CORS 协议头:权限控制
-
- 代理服务器
-
- Iframe