愚蠢的问题,但有人可以详细解释这部分代码吗?
301:https:
在这个小节中:
$| = 1;
while (<>) {
s/^http:/301:https:/;
print;
}
这用于在鱿鱼中将 http 重写为 https,我只是不明白为什么前面的代码 301 是必要的吗?为什么在这里使用301烫发?
感谢您的帮助。
对于我的第一个答案来说,这是正确的事情。正如HTTP协议定义所说:
301 永久搬家
已为请求的资源分配了新的永久 URI 和任何将来对此资源的引用应使用返回的其中一个URI。
而不是
302 找到
请求的资源暂时驻留在不同的 URI 下。由于重定向有时可能会更改,因此客户端应继续将请求 URI 用于将来的请求。
因此,您的代码片段将建议客户端停止使用 http 并开始使用 https。这主要与搜索机器人和其他爬虫有关,我认为浏览器不够聪明,无法自动更改像这样更改的书签。其他网站上的参考文献,由其作者手动添加,也不会改变。
如果您的代码片段中返回 302,自动机器人将继续点击 http,期望该站点将来在 http 下再次工作。