状态码

  • 1xx 服务器收到请求
  • 2xx 请求成功,如200
  • 3xx 重定向, 如301永久重定向,302临时重定向,304资源未改变
  • 4xx 客户端错误, 如404
  • 5xx 服务端错误, 如500服务器错误 504网关超时

methods

  • get 获取数据
  • post 新建数据
  • patch/put 更新数据
  • delete 删除数据

http headers

Request headers

  • Accept 浏览器可接收的数据格式
  • Accept-Encoding 浏览器可接收的压缩算法, 如gzip
  • Accept-Language 浏览器可接收的语言, 如zh-CN
  • Connection: keep-alive 一次TCP连接重复使用
  • cookie
  • Host 域名
  • User-Agent(UA) 浏览器信息
  • Content-type 发送数据的格式, 如application/json

Response Headers

  • Content-type 发送数据的格式, 如application/json
  • Content-length 返回数据的大小, 多少字节
  • Content-Encoding 返回数据的压缩算法,如gzip
  • Set-cookie

缓存相关的headers

  • Cache-Control Expires
  • Last-Modified If-Modified-SInce
  • Etag If-None-Match

http缓存

强制缓存

image.png

  • Cache-Control概念

    • Response Headers中
    • 控制强制缓存的逻辑
    • 例如Cache-Control: max-age = 31536000 (s)
  • Cache-Control的值

    • max-age
    • no-cache(不用强制缓存)
    • no-store(不用缓存)
    • private
    • public
  • Expires

    • 同为控制缓存过期
    • 已被Cache-Control代替

协商缓存(对比缓存)

image.png

  • 服务端缓存策略
  • 服务端判断客户端资源是否和服务端资源一样
  • 一致则返回304, 否则返回200和最新的资源
  • 两种资源标识

    • Last-Modified 资源的最后修改时间
    • Etag 资源的唯一标识(一个字符串,类似指纹)
    • 会优先使用Etag
    • Last-Modified 只能精确到秒级
    • 如果资源被重复生成,而内容不变,则Etag更精确

image.png

三种刷新操作

  • 正常操作: 地址栏输入url, 跳转链接, 前进后退等

    • 强制缓存有效,协商缓存有效
  • 手动刷新, 如F5, 点击刷新按钮

    • 强制缓存失效,协商缓存有效
  • 强制刷新: ctrl + F5

    • 强制缓存失效,协商缓存失效

trueYann
4 声望0 粉丝