HTTP协议 | 青训营

78 阅读1分钟

1.1什么是HTTP

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

1.2发展史

    • HTTP/0.9单行协议
    • 请求GET/mypage.html
    • 响应只有HTML文档
    • HTTP.1.0构建可扩展性
    • 增加了Header
    • 有了状态码
    • 支持多种文档类型
    • HTTP/1.1标准化协议
    • 链接复用
    • 缓存
    • 内容协商
    • HTTP/2更优异的表现
    • 二进制协议
    • 压缩header
    • 服务器推送
    • HTTP/3草案

2.1报文

  • Method
    • safe:不会修改服务器的数据的方法
    • Idempotent:同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的所有safe的方法都是
  • Restful API
    • 每一个URL代表一种资源
    • 客户端与服务器之间,传递这种资源的某种表现层
    • 客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”。

2.2登录(场景分析)

跨域解决方案

  • CORS
  • 代理服务器
  • iframe

2.3AJAX之Fetch

  • XMLHttpRequet的升级版
  • 使用promise
  • 模块化设计
  • 通过数据流处理对象,支持分块读取

3.1WebSocket

  • 浏览器与服务器进行全双工通讯的网络技术
  • 典型场景:实时性要求高
  • URL使用ws://或wss://开头

3.2QUIC

  • 0-RTT建联
  • 类似TCP的可靠传输
  • 类似TLS的加密传输,支持完美前向安全
  • 用户空间的拥塞控制,最新的BBR算法
  • 支持h2的基于流的多路复用,但没有TCP的HOL问题
  • 前向纠错FEC
  • 类似MPTCP的Connection migration