这是我参与「第四届青训营 」笔记创作活动的第6天
前言
- 从user输入地址,browser进程处理输入信息,浏览器发出请求,server处理请求发出响应,浏览器读取响应,接着根据响应进行页面渲染,浏览器呈现最后的页面
HTTP协议
发展
报文
- 安全的方法: GET HEAD OPTION POST PUT ,这里前三种不会改变服务器数据因此安全,而他们全都是幂等的(Idempotent)即同样的请求被执行一次与连续多次执行的效果是一样的
状态码
常见请求头
常见响应头
缓存的字段
HTTP/2
1.指针、二进制编码让它变得更快
2. 消息和数据流
- 消息:请求或响应对应的数据帧(一些标记信息)
- 数据流:由多个消息组成的数据流
3.连接永久且流控制阻止大量数据(使用什先给什么,有优先级)
4.服务器推送
- 分析内容提前推送
HTTPS(HyperText Transfer Protocol Secure)
- 通过TSL/SSL加密
- 分为对称加密和非对称加密,区别在于浏览器和服务器使用的秘钥是否一致
场景分析
- 缓存:设置缓存时间
- CDN:用户就近性访问资源
- 文件名hash:当文件变化文件名变化
跨域(cross-origin)
- 域名(子域)、协议、端口号(无端口号也是跨域)
跨域解决方案
- CORS(请求头)
- 代理服务器
相当于一个中间商,协调浏览器和服务器的通信
记住登录状态
- session+cookie:使用cookie存放信息,session时可使用
- JWT:token使用,根据它分析用户信息
- sso:单点登录,同站点信息共享
—— 扩展:websocket和QUIC的通信方式