http和https资源是等价的吗?

Are http and https resources equivalent?

HTTP 和 https 资源是否等同?也就是说,http://example.com/ABC 是否与 https://example.com/ABC 引用相同的资源?

证据:(1) Cookies with matching domain and path without "secure" attribute are set and returned independent of protocol. (2) HTTP strict transport security 将您从 HTTP 跳转到 HTTPS,隐含假设资源是相同的。

反证:(1)Same origin policy treats a different protocol as a different origin. (2) HTTP RFC显示HTTP,与https比较不等。 (3) FTP 等其他协议的资源不等同于同一域的 HTTP 资源(例如,FTP 服务器根目录不同),那么 https 比 FTP 有什么魔力与 HTTP 的资源等效性?

答案是,这取决于网络服务器配置。它们可以并且在很多情况下确实指向相同的资源,因为 HTTP 和 HTTPS 往往绑定到同一个 site/application.

但是,因为它们是通过不同的 TCP 端口(HTTP 端口 80、HTTPS 端口 443)访问的,所以 HTTP 资源完全有可能由不同的绑定站点提供,而不是具有相同 URI 的 HTTPS 资源(协议除外)因此完全不同。

我要说 - 是的 - 它们是相同的资源。

协议只描述了传输层。

对我来说

http://example.com/ABC

内容如下:

在 example.com 商业领域,我有一个名为 ABC 的资源。

无论协议如何,我都阅读了以下内容。

https://example.com/ABC

然而,网络服务器可以配置为在基于 https 的相同 ABC 资源路径中表示完全不同的内容,但在我看来,它们不应该这样做。

然而,唯一的警告是,如果有人想要 return 某种使用普通 HTTP 的警告,我们现在有不同的含义,但它应该 return 500 或一些错误条件。