0

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

301:https:

在这个小部分中:

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

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

感谢帮助。

4

1 回答 1

0

对我的第一个答案来说是正确的。正如HTTP 协议定义所说:

301 永久搬家

请求的资源已被分配了一个新的永久 URI,并且任何将来对该资源的引用都应该使用返回的 URI之一。

302 找到

请求的资源临时驻留在不同的 URI 下。由于重定向有时可能会改变,客户端应该继续使用 Request-URI 来处理未来的请求

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

如果在您的代码片段中返回 302,自动漫游器将继续访问 http,预计该站点将来会在 http 下再次运行。

于 2013-11-05T16:28:04.093 回答