gpt4 book ai didi

http - 为什么当我输入 http URL 时 firefox 立即请求 https?

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:18 25 4
gpt4 key购买 nike

我有一个绑定(bind)到 http 和 https 的 IIS7 ASP.NET 网络服务器。

所以,我输入 http://test35-control.musac.school.nz进入 Firefox 7.0.1。在服务器日志中我立即看到

2011-11-09 04:57:16 130.123.148.35 GET / - 443 - 130.123.96.22 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:7.0.1)+Gecko/20100101+Firefox/7.0.1 200 0 0 123

在 Firebug 中,Net 面板 [with persist selected] 将第一个请求显示为 https://test35-control.musac.school.nz/

因此,Firefox 似乎忽略了我请求 http 的事实,而是转到了 https 站点。这是为什么?

网上大概有回答,但是通用词太多,google一下...

在我手头的所有其他浏览器(IE8、Chrome、Opera)中似乎也发生了同样的情况。

最佳答案

对于后代来说,Firefox 会通过 HTTPS(在默认端口 443 上)向键入的 URL 发出请求的一个不太可能的原因是,如果它之前已经通过 HTTPS 从服务器获得了 Strict-Transport-Security header 具有仍然适用的 max-age 值。

解释一下,据我所知——虽然我目前无法找到明确证实这一点的 Mozilla 资源——如果您键入地址,Firefox 将默认使用 HTTP 协议(protocol)。至少可以通过经验证实这一点。

但是,当通过 HTTPS 发出请求并且响应包含上述 HTTP header 时,Firefox 将遵守 the specificationmax-age 指定的持续时间内,始终且仅对服务器的每个请求使用 HTTPS,从不使用 HTTP。

在您的情况下,您可能正在测试 HTTPS,并且服务器被配置为使用一些尚未过期的 max-age 值来提供 header ——然后 Firefox 基本上表现为如果您在没有方案前缀的 URL 前面键入 https://,而不是默认情况下的 http://

这种行为不是 Firefox 特有的——它适用于同时代的产品,如 Chrome、Opera、Vivaldi、Brave 及其衍生产品,前提是它们遵守相同的规范。

关于http - 为什么当我输入 http URL 时 firefox 立即请求 https?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8060555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com