【问题标题】:URL variables and PHP redirects, can they be cached?URL 变量和 PHP 重定向,它们可以被缓存吗?
【发布时间】:2016-12-12 01:38:39
【问题描述】:

两个问题合二为一。

如果请求使用 URL 变量,浏览器一般可以缓存 URL(js 脚本)吗? 例如。 www.thing.com/?l=lib&s=thing.js

如果文件是 php 重定向,浏览器可以缓存文件吗? 例如。 www.thing.com/script.js(称为,是一个重定向到 www.thing2.com/actual.js 的 php 文件)

谢谢。

【问题讨论】:

  • 浏览器通常会缓存它允许的任何 URL(通过缓存策略标头,尽管浏览器仍然可以选择忽略这些),基本上任何请求结果都可能是可缓存的。但请注意:www.thing.com/?l=lib&s=thing.jswww.thing.com/?s=thing.js&l=lib 在浏览器眼中可能不同。

标签: php caching browser-cache urlvariables


【解决方案1】:

因为你有两个问题

  1. 如果请求使用 URL 变量,浏览器一般可以缓存 URL(js 脚本)吗?例如。 www.thing.com/?l=lib&s=thing.js

    是的。

  2. 如果文件是 php 重定向,浏览器可以缓存文件吗?例如。 www.thing.com/script.js(称为,是一个重定向到 www.thing2.com/actual.js 的 php 文件)

    视情况而定。如果重定向是 301,那么是 per the spec

    已为请求的资源分配了一个新的永久 URI,以后对该资源的任何引用都应该使用返回的 URI 之一。如果可能,具有链接编辑功能的客户端应该自动将对 Request-URI 的引用重新链接到服务器返回的一个或多个新引用。 除非另有说明,否则此响应是可缓存的。

    如果重定向是 302,则 maybe

    请求的资源暂时位于不同的 URI 下。由于重定向有时可能会改变,客户端应该继续使用 Request-URI 来处理未来的请求。 此响应仅在 Cache-Control 或 Expires 标头字段指示时才可缓存。

【讨论】:

  • 谢谢。我当前的设置使用 302 并且似乎从不缓存东西。我也会把它们改成 301。
猜你喜欢
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多