面试官给我挖坑:URI中的 “//” 有什么用?
我们在浏览网页的时候,需要在浏览器中输入http://或者https://开头的URL地址,类似http://honeypps.com,那么这里的\"://\"或者\"//\"有什么用i N p w M C K 7呢?
说到URL就不得不提URI了。用什么来标记服务器上的资源呢?用的就是URL U p I(Uniform Resource Id& 7 a u J `entifier),即统一资源标识符。URIW 7 A e经常出现在浏p S w l览器的地址栏里,有时候也会称它为“网络地址”,简称“K w ;网址”。不过,严格意义上来讲,URI不完全等同于网址,它包含URL(Uniform Resource Locator,统一资源定位符)和URN(Uniform Resour[ b L )ce Name, 统一资源命名)。
由于URL的普及性特别高,狭义上,我们可以简单地把URI和URL看做是相等的东东。
我们来看一下URI的格式:
URI = scheme:path
authority = host结构图如下d m t I A:
第一部分,scheme,可以翻译成协9 @ o l c V B议名,表示资源应该使用哪种协议来访问。最常见的就是M O n bhttp和https了,其它的如:ftpK 0 # J I、file等。
在 scheme 之后,必须是三个特定的字符“://”,它把 scheme 和后面的部分分离开。这c S ~ z P g个是今天的主l X ` a R R角,如果单单是用J J ~ k作区分,完全可以只使用“a , D k p o g 7 J:”9 J f这1个字母,而不是& ` e“://”这3个字母。
在“://”之后,是被称为w 8 J“authority”的部分,表示资源所在的主机名,通常的形式是“host:port”,即主机名加端口号。以前authority还会包含身份信息userinfo,即“user:passwd@”{ 8 M l 0 ` + n的形式,不过现在已经不流行了,可以忽略。在后面的内容代表什么含义,相信大家都已经很清楚了。
当有人问你://有什么用的时候,其实是在挖坑。我们在面试的时候,经常在回答完一个问题的时候,面试_ S E o ? v $官会抓着你答案里的一个点进行“深层次i r ? t M挖掘”,也可以称之为“夺命连环问”,久9 w /而久之我们会形成一种习惯,总觉得问题的背后有什么深层次的东西,需要我们绞尽脑汁去思考。这里的://就是一个典型的反例。
在2009年10月,BBC中的一篇新闻讲述了\"//\"的用途。原文地址:http://news.bbc.co.uk/2/hi/technology/8306631.7 4 |stm。这里我讲这篇报道截了X ^ ( 6 q K一个图,如下所示:
In a Times article in October 2009, Berners-LeL p & 9 $ ( $ 6e admi7 K ; b ? ( ntted that the initial pair of slashes (\"//\") in a web addrS * s Z . Hess were \"unnecessary\". He told the newspag 6 mper that he easily could have desigj a % R 5ned web addresses wit} w m h F & 2 .hout the slashes. \"There- s L } - E you go, it seemed like a good idea a! + m # mt the time\", he said in his lighthearted apology.
2009年10月,万维网之父蒂姆伯纳斯李承认,在网址前加上双斜线的做法是一个错误。他在9 d 2 ! ; 8 8 3美国首都华盛顿举行的一次研讨会上表示,他最初设计的在网址前面加上“//”的方案,既没有意7 P P G o义也没有必要。如? U = F f ?果有机会再来一次,他会将双斜线去掉。
对的,你没有看7 % ! @ v A错,URI里的“//”没啥diao用。
为什么蒂姆伯纳# 8 4 M , l ^ t斯K O j 6 v 1李说“//”没用就是没用呢?这里补充一下蒂姆伯纳斯李的介绍。
7月27日,在伦敦奥林匹克体育场举行的2012年伦敦奥运会开幕式上,一位英国科学家隆重登场,接受全场掌声,这个“感d q & h v谢蒂姆”的场面惊动全球,成为开幕式的一个亮点。他就是互联网的发明者、被业界公认为“互联v , V c是,为了互联网的全球普及,让所有人不受限制地使用互联网,他宣布放弃为“WWW”申请专利。本可以在金钱上与比尔•盖茨不相上下,但他决定把自己的互联网成就无偿向全世界开放,个人失去了天价财富,却让包括我们在内u t H 3 ^ h年10月,全球网站数已} ] q 8 m ] b j经突破了2.5亿个,可想而知,他的奉献让全球互联网迅猛发展,也让所有的网络运F U q = p | y营商们赚了不计其数的钱。
1955年6月8日,蒂姆•伯纳斯•李出生于英格兰伦敦西南部。他的父母都是计算机科学家,都参与了世界上第一台商业电脑——曼切斯特l z E u 6 Y1型(Manchester Mark I)的设计建造。1976年蒂姆在牛津大g H % l Z j学物理系获得一l E X c d $ h级荣誉学位。1980年6月至9月J m x ],蒂姆在欧洲核子研究组织(CERS 5 4 ? h e HN)时,提出了一个独到的构想:创建一; . ( ^ i 8 y @ I个以超文本系统为基础的项目,使分布于各地的计算机得以分享及更新信息。同时,他创建了ENQUIRE原型系统。l990年,蒂姆在O . ,当时的NEXTSTEP网络系统上,开发出世界上第一个网络服务器和第9 g [一个客户端浏览器编辑程序,建立了全球第一个WWW网站。他当之无愧地成为全球l v U : @ 8 F (互联网的创始人。今天,WWW、http已成为人们的日常词汇,互联网已经影响到我们的工作、娱乐、社交等几乎所有领域。然而蒂姆从不居功自傲,每谈到成就,他总是平静地说:“我没有发明互联网,我只是找到了一种更好的方法。”
今天的知识点,你GET到了嘛?