这是我参与「第四届青训营 」笔记创作活动的的第6天
初识HTTP
什么是HTTP?
- Hyper Text Transfer Protocol(超文本传输协议)
- 应用层协议,基于TCP协议
- 请求 响应
- 简单可扩展
- 无状态,每一个请求之间是孤立的
协议分析
发展历程
HTTP/2概述:更快、更稳定、更简单
- 帧(frame) : HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流
- 消息:与逻辑请求或响应消息对应的完整的一系列帧
- 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息
- 二进制传输
- 交错发送,接收方重组织
- HTTP/2连接都是永久的,而且仅需要每个来源一个连接
- 流控制:阻止发送方向接收方发送大量数据的机制
- 服务器推送
状态码
- 200 OK---客户端请求成功
- 301---资源(网页等)被永久转移到其它URL
- 302---临时跳转
- 401 Unauthorized---请求未经授权
- 404---请求资源不存在,可能是输入了错误的URL
- 500---服务器内部发生了不可预期的错误
- 504 Gateway Timeout---网关或者代理的服务器无法在规定的时间内获得想要的响应
缓存
- 强缓存:浏览器直接从本地缓存中获取数据,不与服务器进行交互
- 协商缓存:浏览器发送请求到服务器,服务器判断是否可使用本地缓存
场景分析
静态资源
静态资源方案:缓存+CDN+文件名hash
- CDN:Content Delivery Network
- 通过用户就近性和服务器负载的判断,CDN确保内容以—种极为高效的方式为用户的请求提供服务
登录
业务场景
- 表单登录
- 扫码登陆
技术方式
- SSO(Single Sign On):单点登录
- 向什么地址做了什么动作?
- 使用POST方法
- 目标域名sso.toutiao.com
- 目标path /quick_login/v2/
- 携带了哪些信息,返回了哪些信息
- 携带信息
- Post body,数据格式为form
- 希望获取的数据格式为json
- 已有的cookie
- 返回信息
- 数据格式json
- 种cookie的信息