HTTP|青训营笔记

116 阅读2分钟

这是我参与「第五届青训营」笔记创作活动的第5天。

什么是HTTP

  • Hyper Text Transfer Protocol 超文本传输协议
  • 应用层协议,基于TCP协议
  • 请求+响应
  • 简单可扩展
  • 无状态

methods

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • CONNECT
  • OPTIONS
  • TRACE
  • PATCH

响应状态码

状态码含义
1xx指示信息,表示请求已接受,等待继续处理
2xx成功,表示请求已被成功接收、理解、接受
3xx重定向,要完成请求必须进一步操作
4xx客户端错误,请求有语法错误或请求无法实现
5xx服务端错误,服务器无法成功响应
  • 200——客户端请求成功
  • 301——资源被转移
  • 302——临时跳转
  • 401——请求未授权
  • 404——资源不存在
  • 500——服务器报错
  • 504——响应超时

缓存

  • 强缓存:如果本地已缓存,则优先使用本地缓存
  • 协商缓存:无论本地是否缓存,均需要与服务端建立链接进行协商

image-20230119101142000.png

HTTP/2

特点:将整体数据拆分成若干数据帧,每个数据帧包含其帧头

优点:采用二进制传输,传输效率更高;数据可以乱序传输,最后依据帧头拼接,传输更灵活;连接永久,一对一;流控制,阻止发送方向接收方发送大量数据的机制,节流;服务器推送

HTTPS

  • 对称加密:加密和解密都用同一个密钥
  • 非对称加密:加密需要使用不同的密钥(公钥+私钥)

场景分析

  • 静态资源可以从本地缓存中直接加载

    静态资源部署:缓存+CDN+文件名hash(保证访问最新资源)

  • 表单登录

    options请求,解决跨域问题

  • SSO:单点登录

    一个站点登录,所有子站点共享登陆状态

学习小结

网络请求的方式有很多种,有些是开发中常用,有的是发布以后常用,根据实际情况选用具体的方案