状态码
- 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缓存
强制缓存
Cache-Control概念
- Response Headers中
- 控制强制缓存的逻辑
- 例如Cache-Control: max-age = 31536000 (s)
Cache-Control的值
- max-age
- no-cache(不用强制缓存)
- no-store(不用缓存)
- private
- public
Expires
- 同为控制缓存过期
- 已被Cache-Control代替
协商缓存(对比缓存)
- 服务端缓存策略
- 服务端判断客户端资源是否和服务端资源一样
- 一致则返回304, 否则返回200和最新的资源
两种资源标识
- Last-Modified 资源的最后修改时间
- Etag 资源的唯一标识(一个字符串,类似指纹)
- 会优先使用Etag
- Last-Modified 只能精确到秒级
- 如果资源被重复生成,而内容不变,则Etag更精确
三种刷新操作
正常操作: 地址栏输入url, 跳转链接, 前进后退等
- 强制缓存有效,协商缓存有效
手动刷新, 如F5, 点击刷新按钮
- 强制缓存失效,协商缓存有效
强制刷新: ctrl + F5
- 强制缓存失效,协商缓存失效
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。