国家高新技术企业
服务热线:400-6688-605
http://和https://中的双斜线有什么用?
发布来源:大鹏网络
发布时间:2026-07-09 08:16
简单来说,网址里的 // 是分隔协议名与主机名(Authority)的标记。

我们可以把完整的网址拆解来看:

协议:https: 告诉浏览器用什么方式去请求资源。

**//**:后面跟着的部分叫做 authority,即“谁来响应你这个请求”。它是主机名的开头标记,用来把协议名和服务器地址隔开。

主机名:www.example.com 告诉浏览器去找哪台服务器。

路径:/path/to/page 告诉服务器你具体要哪个资源。

历史渊源:从 Apollo 工作站“抄”来的

1989年,蒂姆·伯纳斯-李在CERN设计URL语法时,路径部分的单斜杠 / 直接照搬了Unix的文件路径写法。但 // 这个双斜杠,并非他原创。

他是从一台叫 Apollo Domain 的工作站上“抄”来的。Apollo 的操作系统允许直接在文件路径里访问网络上其他机器的文件,语法是 //machine_name/path/to/file。双斜杠的作用是告诉系统:“注意,这不是本地目录,是另一台机器。” 伯纳斯-李觉得这个写法很清晰,就直接拿来用了,他后来也亲口承认:“I just copied Apollo”。

现实应用:自适应协议的“神器”

虽然 // 的发明初衷有点“无心插柳”,但它在现代Web开发中却意外地非常实用,尤其是在网站进行HTTPS升级时。

当你在网页中引用外部资源(如图片、CSS、JS文件)时,可以使用 // 开头(例如 //example.com/image.jpg),而不是写死 http:// 或 https://。这种写法被称为协议相对URL,它的好处是:

自适应协议:浏览器会根据用户当前访问页面的协议(HTTP或HTTPS)自动选择相同的协议来请求资源。

避免混合内容警告:在HTTPS页面中,如果加载了HTTP的资源,浏览器会报安全警告甚至阻止加载。使用 // 可以完美避免这个问题。

但需要注意:在本地调试时,如果直接打开HTML文件(使用 file:// 协议),// 开头的链接会变成 file://example.com/...,导致找不到文件,所以本地开发时需谨慎使用。

争议与道歉:一个“不必要”的设计

蒂姆·伯纳斯-李后来多次表示,网址开头的 // 是一个“毫无意义且不必要”的设计。他在2009年接受采访时再次道歉,称自己当初完全可以设计一个没有双斜杠的网址,并坦言“There you go, it seemed like a good idea at the time”。

不过,尽管发明者本人“后悔”了,但 // 已经成为URL标准(RFC 3986)的一部分,深入到了互联网的每个角落。如今,很多浏览器(如Chrome、Safari)在地址栏里会默认隐藏 https:// 的 //,只显示干净的域名,这也算是一种“在界面上假装它们不存在”的解决方案。