一个克制的、理性的关注互联网科技和人文的频道,也谈谈美食和电影,发现和分享一切有趣有价值的内容。
将错就错的篓子
1993年,瑞士日内瓦,蒂姆·伯纳斯-李和同事丹·康纳利坐在一台 NeXT电脑前,他们刚刚写完 HTTP 协议草案第 9.1 节。
他们需要一个请求头,来告诉服务器用户是从哪个页面点过来的。
蒂姆飞快地敲下Referer ,两人都没留意到少了一个r。毕竟他俩搞出了免费的万维网给全世界用。
于是,错的就这么定下来了。
时间来到1996年,HTTP/1.0正式发布。 全世界程序员们欢呼雀跃,抄起规范就开干。 至于有没有人发现那少了一个r,who care?
直到1999 年,一个叫罗伊·菲尔丁的人在邮件里写到:“Referer拼错了!是Referrer!两个r!”
互联网瞬间炸了,
你可能会说,这有什么,那就改回来啊! 但得问问程序员的意见,
因为这代表世界上的几百万台服务器、几千万行代码要改。 当时有人提议:“要不写个新头叫 Referrer,旧的保留兼容?” 立刻被喷:“同时支持两个差一个字母的头?活的不耐烦了?”
最后大家沉默了,“行吧,将错就错。”
直到2014 年,新一代 HTTP 规范 RFC 7231终于硬着头皮把真相写进了文档里:
“Referer 这个头历史上把 ‘referrer’ 拼错了。本规范很遗憾地继续这一不幸传统,以免把现存实现全弄崩。”
如今,你打开任何浏览器,
按F12,看网络面板里跳动的请求头, 仍然能看见那一行孤独的、少了一个r 的单词。
连发明互联网的人,也会拼错一个单词。
蒂姆后来在一次访谈里笑着说:“我这辈子最大的成就,是发明了万维网。 最大的遗憾,是少写了一个r。 但想想也挺好—— 它让全世界程序员每天打开日志时,都能记住: 我们都是凡人。”
1993年,瑞士日内瓦,蒂姆·伯纳斯-李和同事丹·康纳利坐在一台 NeXT电脑前,他们刚刚写完 HTTP 协议草案第 9.1 节。
他们需要一个请求头,来告诉服务器用户是从哪个页面点过来的。
蒂姆飞快地敲下Referer ,两人都没留意到少了一个r。毕竟他俩搞出了免费的万维网给全世界用。
于是,错的就这么定下来了。
时间来到1996年,HTTP/1.0正式发布。 全世界程序员们欢呼雀跃,抄起规范就开干。 至于有没有人发现那少了一个r,who care?
直到1999 年,一个叫罗伊·菲尔丁的人在邮件里写到:“Referer拼错了!是Referrer!两个r!”
互联网瞬间炸了,
你可能会说,这有什么,那就改回来啊! 但得问问程序员的意见,
因为这代表世界上的几百万台服务器、几千万行代码要改。 当时有人提议:“要不写个新头叫 Referrer,旧的保留兼容?” 立刻被喷:“同时支持两个差一个字母的头?活的不耐烦了?”
最后大家沉默了,“行吧,将错就错。”
直到2014 年,新一代 HTTP 规范 RFC 7231终于硬着头皮把真相写进了文档里:
“Referer 这个头历史上把 ‘referrer’ 拼错了。本规范很遗憾地继续这一不幸传统,以免把现存实现全弄崩。”
如今,你打开任何浏览器,
按F12,看网络面板里跳动的请求头, 仍然能看见那一行孤独的、少了一个r 的单词。
连发明互联网的人,也会拼错一个单词。
蒂姆后来在一次访谈里笑着说:“我这辈子最大的成就,是发明了万维网。 最大的遗憾,是少写了一个r。 但想想也挺好—— 它让全世界程序员每天打开日志时,都能记住: 我们都是凡人。”