访问 //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 这个头部可能只在特定类型的服务器配置或者特定的网络环境下出现,而在其他情况下可能不会出现。

相关推荐
华玥作者3 小时前
[特殊字符] VitePress 对接 Algolia AI 问答(DocSearch + AI Search)完整实战(下)
前端·人工智能·ai
Mr Xu_3 小时前
告别冗长 switch-case:Vue 项目中基于映射表的优雅路由数据匹配方案
前端·javascript·vue.js
前端摸鱼匠3 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
lang201509284 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
好家伙VCC4 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
未来之窗软件服务5 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
嘿起屁儿整5 小时前
面试点(网络层面)
前端·网络
VT.馒头5 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
phltxy6 小时前
Vue 核心特性实战指南:指令、样式绑定、计算属性与侦听器
前端·javascript·vue.js
Byron07077 小时前
Vue 中使用 Tiptap 富文本编辑器的完整指南
前端·javascript·vue.js