访问 //xx.com 与 https://xx.com 的区别

为什么写这个呢,原因是我司在搞域名迁移整理时,发现有些资源CDN域名在代码逻辑中是不带协议的,所以探索了一下原因,特地记录一下。

一、 带协议与不带协议的区别

  1. xxx.com

    这只是一个域名,没有指定使用哪种协议来访问该网站。

    如果你在浏览器中输入这样的地址,浏览器会默认使用 HTTP 协议来访问该网站。

    如果服务器支持 HTTPS,浏览器也可以在必要时将连接升级为安全的 HTTPS 连接。

  2. https://xxx.com

    这包含了协议部分 https,它指示了使用安全的 HTTP 协议来访问该网站。

    HTTPS 使用了 SSL/TLS 加密来保护数据传输的安全性,适用于敏感信息(例如登录信息、支付信息)的传输。

二、必要时 如何理解

必要时 指的是当浏览器检测到服务器支持 HTTPS,并且用户访问的网址可以通过 HTTPS 安全连接访问时。

具体来说,以下是一些情况下会发生这种情况:

  1. HSTS (HTTP Strict Transport Security) 设置

    如果网站在响应 HTTP 请求时发送了 HSTS 头部,浏览器将会记住该网站只能通过 HTTPS 访问。这意味着即使用户最初通过 HTTP 访问了该网站,浏览器也会自动将后续的请求升级为 HTTPS。

    示例图:

  1. 用户手动输入 HTTPS 地址

    如果用户在浏览器中直接输入了以 https:// 开头的网址,浏览器会直接使用 HTTPS 协议进行连接。

  2. 自动重定向

    有些网站会将所有的 HTTP 请求自动重定向到 HTTPS。这样,即使用户最初输入了 HTTP 地址,服务器也会在接收到请求后发送一个特殊的响应,告诉浏览器用 HTTPS 重新访问。

    示例图:

总的来说,在现代浏览器中,当服务器支持 HTTPS 时,浏览器会尽可能地使用安全的 HTTPS 连接来访问网站,以确保用户的数据安全。

三、Non-Authoritative-Reason: HSTS

Non-Authoritative-Reason: HSTS 是一个特定于微软服务器的头部(HTTP 响应头部),它通知客户端(通常是浏览器)服务器的响应并不是来自于该资源的权威来源,而是由于 HSTS(HTTP Strict Transport Security)策略而进行了强制转发。

具体来说,当一个客户端发送一个 HTTP 请求,并且该请求被重定向到一个 HTTPS 地址时,如果响应包含 Non-Authoritative-Reason: HSTS 头部,这意味着服务器告诉客户端,该响应是由于 HSTS 策略而进行的重定向,而不是来自于资源的权威来源。

这通常会在服务器在 HSTS 策略生效的情况下,收到一个 HTTP 请求时,将其强制重定向到相应的 HTTPS 地址时使用。这样做是为了确保所有的通信都是经过安全的 HTTPS 连接进行的,以保护通信的安全性和隐私性。

请注意,Non-Authoritative-Reason: HSTS 这个头部可能只在特定类型的服务器配置或者特定的网络环境下出现,而在其他情况下可能不会出现。

相关推荐
崔庆才丨静觅4 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60615 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了5 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅5 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅5 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅6 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment6 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅6 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊6 小时前
jwt介绍
前端
爱敲代码的小鱼6 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax