我的回答

301: 永久重定向
302: 临时重定向
304: 缓存

参考回答

301

301 表示永久重定向(301 moved permanently),表示请求的资源分配了新 url,以后应使用新 url

302

302 表示临时性重定向(302 found),请求的资源临时分配了新 url,本次请求暂且使用新 url。302 和 301 的区别是:302 表示临时性重定向,重定向的 url 还有可能还会改变

304

304 虽然属于 3xx 类别中但是和重定向没有关系,304 是一个非常好玩的状态,当浏览器拿到状态码是 304 的时候,就会从本地资源中拿请求的资源或者代理服务器直接返回本地的资源,304 属于走缓存
访问服务器,返现数据没有更新,服务器返回奚状态码(不返回资源)。然后从缓存中读取数据。
协商缓存

  1. 将缓存信息中的 Etag 和 Last-Modified 通过请求发送给服务器
  2. 由服务器校验,返回 304 状态码时,浏览器直接使用缓存