网址开头那两个斜杠 //,其实没有实际功能?
每天在地址栏敲https://,你有没有想过,中间那俩斜杠到底图什么?真相挺反常识:这两个斜杠基本没有实际功能,连发明者本人都承认是个错误。
1990年,蒂姆·伯纳斯·李在CERN那台NeXT电脑上折腾万维网,顺手定下了网址的写法。他当时想借用大家眼熟的形式,
于是在协议名后面加了冒号,又加了//表示“后面跟着的是主机地址”。
问题在于,冒号本身已经把协议和后面的内容分开了,再塞两个斜杠纯属重复。2009年10月,他在华盛顿的一次活动上
亲口认账,说双斜杠“既没意义也没必要”,是他唯一想改掉的设计。据公开资料,他当时还算了笔账:这些年人类为敲
这两个多余的斜杠,浪费了大量时间和纸张。
得说清楚,没用的是那两个“固定前缀”,不是斜杠这个字符。
单个斜杠在网址里干的是正经活——标示层级,/blog/url-structure这种路径全靠它分段。后来的标准把//正式定义为“权
威组件(authority)”的开头,RFC1738、RFC2396一路写到RFC3986。换句话说,它本来可有可无,可一旦写进标准、
被全世界的浏览器和服务器实现,就再也摘不掉了。这就是典型的历史包袱:不是改不动技术,是改不动已经跑在地球
上的几十亿设备。
有意思的是它歪打正着留下个用法——以//开头的“协议相对地址”,能让浏览器自动沿用当前是http还是https。早些年做
网站运维,http往https迁移那阵子,不少人还特意这么写来兼容两种情况。
如今你在Chrome、Edge里根本看不见这俩斜杠,浏览器早就默认把它藏了,只在你点进地址栏编辑时才露出来。手机上
更是连www都懒得显示。厂商用这种方式默默给当年的设计打了补丁。
页:
[1]