HTTP实用指南 | 青训营笔记

110 阅读1分钟

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

初识

  • HTTP:超文本传输协议
  • 应用层协议,基于TCP协议
  • 特点:简单可拓展、无状态

协议分析

HTTP

发展:

image.png

Method:

image.png

特点:

  • 安全:不会修改服务器的数据的方法(GET,HEAD,OPTIONS)
  • 幂等:同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是idempatent的(GET,HEAD,OPTIONS,PUT,DELETE)

image.png

image.png

image.png

image.png

image.png

缓存流程:

image.png

image.png

HTTP/2:

  • 帧(frame):最小通信单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流
  • 消息:与逻辑请求或响应消息对应的完整的一系列帧
  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息

特征更快、更稳定、更简单

  • HTTP/2连接都是永久的,而且仅需要每个来源一个连接
  • 流控制:阻止发送方向接收方发送大量数据的机制
  • 服务器主动推送

HTTPS

对比HTTP是经过TSL/SSL加密的,其中有分为对称加密非对称加密

image.png

  • 对称加密:加密和解密都是使用同一个密钥
  • 非对称加密:加密和解密需要使用两个不同的密钥:公钥(public key)、私钥(private key)

image.png

常见场景

静态资源

  • 静态资源方案:缓存——CDN——文件名hash
  • CDN:Content Delivery Network

通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务

image.png

登录

为什么登录的时候会有OPTIONS请求? 因为跨域了!

image.png

image.png

实际应用

image.png

image.png

image.png

image.png

image.png

# 了解更多

image.png

image.png