301 https反向代理squid重定向回复标头

时间:2013-10-10 20:10:48

标签: squid

这是一个愚蠢的问题,但有人可以详细解释这部分代码吗? :

301:https:

在这个小部分:

$| = 1; 
while (<>) {
     s/^http:/301:https:/;
     print;
}

这用于在squid中重写http到https我只是不明白为什么前面的代码301是否必要?为什么在这里使用301 Perm移动?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我的第一个答案是正确的。正如the HTTP protocol definition所说:

  

301永久移动

     

已为所请求的资源分配了新永久URI 和任何   以后对此资源的引用应该使用返回的其中一个   的URI

而不是

  找到302

     

请求的资源位于不同的URI下临时。   由于重定向有时可能会改变,客户端应该这样做   继续将Request-URI用于将来的请求

因此,您的代码段会建议客户停止使用http并开始使用https。这主要与搜索机器人和其他爬虫有关,我不认为浏览器足够聪明,可以自动更改像这样改变的书签。 其作者手动添加的其他网站上的参考文献也不会改变。

如果您的代码段中返回了302,则自动机器人会继续点击http,希望该网站将来可以在http下再次使用。