URL变量和PHP重定向,是否可以缓存?

时间:2016-08-05 15:14:18

标签: php caching browser-cache urlvariables

两个问题合二为一。

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

因为你有两个问题

  1. 浏览器一般可以缓存一个URL(js脚本),如果它是通过URL变量请求的吗?例如。 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标头字段指示,此响应仅可缓存。