Answers:
如果您打开了开发者工具箱面板,则可以设置一个选项来关闭对缓存的查询(如所见F12)。
要设置此选项:
缓存重定向仍然会从没有开发者工具箱面板开放访问缓存,但缓存没有谘询,而不是更新的,只要开发者工具箱打开。因此,您只是暂时强制Firefox不缓存重定向或从缓存提供重定向,但这对于您的用例就足够了。
在Firefox 41中进行了验证。改编自Ryan Bemrose对另一个问题的回答。
我完全理解为什么在99%的情况下缓存重定向都是有好处的,但是仍然可以禁用该行为吗?
好吧,如果您是从Web服务器开发的角度进行此操作,那么期望浏览器的“不惜一切代价缓存”行为会因您“无休止的开发调整”需求而改变,这是攻击这种野兽的错误方法。当您正在调试Web服务器重定向,你需要把重点放在检查头输出,而不是完整的页面渲染输出其浏览器提供。
因此,我建议您从命令行学习如何使用curl
和-I
选项,以仅返回标头,这对于调试301和302重定向非常有用。从命令行。如官方curl
手册页中所述,-I
选项为:
-我/-头
(HTTP / FTP / FILE)仅获取HTTP标头!HTTP服务器具有命令HEAD,该命令用于获取文档的标头。当在FTP或FILE文件上使用时,curl仅显示文件大小和最后修改时间。
例如,执行a curl -I google.com
,输出将如下所示:
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:37:42 GMT
Expires: Mon, 11 May 2015 04:37:42 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
而且,如果您想通过标头遵循整个重定向链,则将-L
选项(aka:)添加--location
到命令中,如下所示:
curl -I -L google.com
该命令在位置重定向链之后的输出将如下所示:
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: Mon, 11 May 2015 04:48:14 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
HTTP/1.1 200 OK
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=69d90e4d7a0fcbbb:FF=0:TM=1428727694:LM=1428727694:S=1xqS-toEoa5saQ7n; expires=Mon, 10-Apr-2017 04:48:14 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=pkHjv88MsTB_eB1OqqcMm03kTkFNOSaN4ZEiE5iGViEt7AiJWBc6R-0qJ5s1xu3i5Peg5aHOBHyr7n4-oAxyEE2cL_dBPRLYODst0H-Ztfgrf_6LYXXlix9eghSB8Hzc; expires=Sun, 11-Oct-2015 04:48:14 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding
需要注意的标头响应HTTP/1.1 301 Moved Permanently
以及Location: http://www.google.com/
。如果您的Web开发目标是测试Apache重写规则和重定向之类的东西,那么它curl -I
是帮助您了解调整的最佳工具。
在完成这些调整并完善之后,然后在真实的浏览器中进行最后的运行,以查看所有这些变为现实。