HTTP实用指南|青训营笔记

93 阅读2分钟

HTTP实用指南|青训营笔记

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

初识HTTP

什么是HTTP

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

协议发展

image.png

协议报文

Method

  • GET 请求一个指定资源的表示形式
  • POST 用于将实体提交到指定的资源
  • PUT 用请求有效载荷替换目标的所有当前表示
  • DELETE 删除指定的资源
  • HEAD 请求一个与GET请求的响应相同的响应
  • CONNECT 建立一个到由目标资源标识的服务器的隧道
  • OPTIONS 用于描述目标资源的通信选项
  • TRACE 沿着到目标资源的路径执行一个消息环回测试
  • PATCH 用于对资源应用部分修改

状态码

image.png

RESTful API

一种API设计风格

  1. 每一个URL代表一种资源
  2. 客户端和服务器之间,传递这种资源的某种表现层
  3. 客户端通过HTTP method,对服务器端进行操作

常用请求头

image.png

缓存

强缓存

  • Expires 时间戳
  • Cache-Control
  • 可缓存性
    • no-cache :协商缓存验证
    • no-store :不使用任何缓存
  • 到期
    • max-age : 存储最大周期
  • 重新验证
    • must-revaildate
    协商缓存

Cookie

image.png

HTTP/2

帧:HTTP/2通信最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流

消息:与逻辑请求或响应消息对应的完整的一系列帧 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息。

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