已被HTTP 302重定向修改

时间:2019-03-18 17:03:00

标签: http redirect http-status-code-302 http-status-code-304

我认为这是不可能的,但是我会向有经验的人寻求建议。

想象一下情况:

  1. 客户端发送请求以获取内容 A ,即www.server.com/content/1。
  2. 服务器处理请求,并生成重定向链接(每个请求=新链接)。生成重定向链接的过程非常昂贵。
  3. 服务器将响应 302找到发送到客户端。响应包含 Location Expires ETag Last-Modified 标头以及带有超文本的有效载荷({{3 }}。
  4. 将客户端重定向到新的URL(www.server2.com/c/212123123/1),可以在其中获取内容 A

当客户端再次向服务器发送请求(www.server.com/content/1)-点#1-浏览器使用缓存的 302 Found ,并立即转到点#的URL 4(www.server2.com/c/212123123/1)。

问题是,缓存的 302 Found 可能已过时。 预期的行为是,客户端首先向服务器发送带有 If-Modified-Since If-None-Match 标头的请求,该标头具有两个选项:

  1. URL是最新的= 发送304未修改
  2. URL已过时,服务器重新生成URL并发送新的 302找到

比客户:

  1. 使用已缓存的 302找到(服务器发送 304未修改
  2. 使用新的找到的 302

问题是:可以检查找到的 302 是否仍然有效,即服务器响应 304未修改或新的 302找到 >?花费大量时间,但不起作用。谢谢。

0 个答案:

没有答案