面试官给我挖坑:URI中的 “//” 有什么用?

2024-09-02 09:58
文章标签 面试官 uri 挖坑

本文主要是介绍面试官给我挖坑:URI中的 “//” 有什么用?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方“朱小厮的博客”,选择“设为星标”

后台回复”加群“获取公众号专属群聊入口

欢迎跳转到本文的原文链接:https://honeypps.com/network/whats-the-use-of-/-in-uri/

我们在浏览网页的时候,需要在浏览器中输入http://或者https://开头的URL地址,类似http://honeypps.com,那么这里的"://"或者"//"有什么用呢?

说到URL就不得不提URI了。用什么来标记服务器上的资源呢?用的就是URI(Uniform Resource Identifier),即统一资源标识符。URI经常出现在浏览器的地址栏里,有时候也会称它为“网络地址”,简称“网址”。不过,严格意义上来讲,URI不完全等同于网址,它包含URL(Uniform Resource Locator,统一资源定位符)和URN(Uniform Resource Name, 统一资源命名)。

由于URL的普及性特别高,狭义上,我们可以简单地把URI和URL看做是相等的东东。

我们来看一下URI的格式:

URI = scheme:[//authority]path[?query][#fragment]
authority = [userinfo@]host[:port]

结构图如下:

第一部分,scheme,可以翻译成协议名,表示资源应该使用哪种协议来访问。最常见的就是http和https了,其它的如:ftp、file等。

在 scheme 之后,必须是三个特定的字符“://”,它把 scheme 和后面的部分分离开。这个是今天的主角,如果单单是用作区分,完全可以只使用“:”这1个字母,而不是“://”这3个字母。

在“://”之后,是被称为“authority”的部分,表示资源所在的主机名,通常的形式是“host:port”,即主机名加端口号。以前authority还会包含身份信息userinfo,即“user:passwd@”的形式,不过现在已经不流行了,可以忽略。在后面的内容代表什么含义,相信大家都已经很清楚了。

当有人问你://有什么用的时候,其实是在挖坑。我们在面试的时候,经常在回答完一个问题的时候,面试官会抓着你答案里的一个点进行“深层次挖掘”,也可以称之为“夺命连环问”,久而久之我们会形成一种习惯,总觉得问题的背后有什么深层次的东西,需要我们绞尽脑汁去思考。这里的://就是一个典型的反例。

在2009年10月,BBC中的一篇新闻讲述了"//"的用途。原文地址:http://news.bbc.co.uk/2/hi/technology/8306631.stm。这里我讲这篇报道截了一个图,如下所示:

In a Times article in October 2009, Berners-Lee admitted that the initial pair of slashes ("//") in a web address were "unnecessary". He told the newspaper that he easily could have designed web addresses without the slashes. "There you go, it seemed like a good idea at the time", he said in his lighthearted apology.

2009年10月,万维网之父蒂姆·伯纳斯·李承认,在网址前加上双斜线的做法是一个错误。他在美国首都华盛顿举行的一次研讨会上表示,他最初设计的在网址前面加上“//”的方案,既没有意义也没有必要。如果有机会再来一次,他会将双斜线去掉。

对的,你没有看错,URI里的“//”没啥diao用。

为什么蒂姆·伯纳斯·李说“//”没用就是没用呢?这里补充一下蒂姆·伯纳斯·李的介绍。

7月27日,在伦敦奥林匹克体育场举行的2012年伦敦奥运会开幕式上,一位英国科学家隆重登场,接受全场掌声,这个“感谢蒂姆”的场面惊动全球,成为开幕式的一个亮点。他就是互联网的发明者、被业界公认为“互联网之父”的英国人蒂姆•伯纳斯•李(Tim Berners-Lee)。在全世界的注目下,他在一台电脑前象征性地打出了一句话:“This is for Everyone”,含义是:互联网献给所有人。蒂姆•伯纳斯•李不仅被视为英国人的骄傲,他同样无可争辩地赢得了全世界的尊重。

不仅因为他的发明改变了人类生活方式,改变了全球信息交流的传统模式,带来了一个全新的信息时代;更伟大的是,为了互联网的全球普及,让所有人不受限制地使用互联网,他宣布放弃为“WWW”申请专利。本可以在金钱上与比尔•盖茨不相上下,但他决定把自己的互联网成就无偿向全世界开放,个人失去了天价财富,却让包括我们在内的全人类获得受益,今天我们点击几乎任何一个网址都少不了“WWW”,这意味着我们时时在分享着蒂姆的无私奉献。1980年蒂姆•伯纳斯•李写下的程序奠定了互联网的基础,到2007年10月,全球网站数已经突破了2.5亿个,可想而知,他的奉献让全球互联网迅猛发展,也让所有的网络运营商们赚了不计其数的钱。

1955年6月8日,蒂姆•伯纳斯•李出生于英格兰伦敦西南部。他的父母都是计算机科学家,都参与了世界上第一台商业电脑——曼切斯特1型(Manchester Mark I)的设计建造。1976年蒂姆在牛津大学物理系获得一级荣誉学位。1980年6月至9月,蒂姆在欧洲核子研究组织(CERN)时,提出了一个独到的构想:创建一个以超文本系统为基础的项目,使分布于各地的计算机得以分享及更新信息。同时,他创建了ENQUIRE原型系统。l990年,蒂姆在当时的NEXTSTEP网络系统上,开发出世界上第一个网络服务器和第一个客户端浏览器编辑程序,建立了全球第一个WWW网站。他当之无愧地成为全球互联网的创始人。今天,WWW、http已成为人们的日常词汇,互联网已经影响到我们的工作、娱乐、社交等几乎所有领域。然而蒂姆从不居功自傲,每谈到成就,他总是平静地说:“我没有发明互联网,我只是找到了一种更好的方法。”

今天的知识点,你GET到了嘛?

References

  1. https://en.wikipedia.org/wiki/Uniform_Resource_Identifier

  2. https://en.wikipedia.org/wiki/Tim_Berners-Lee

  3. http://blog.sina.com.cn/s/blog_3e4d3af301017fnr.html

欢迎跳转到本文的原文链接:https://honeypps.com/network/whats-the-use-of-/-in-uri/

想知道更多?描下面的二维码关注我

后台回复”加群“获取公众号专属群聊入口

【精彩推荐】

  • 咱们从头到尾说一次Java垃圾回收

  • Netty、Kafka中的零拷贝技术到底有多牛?

  • go为什么这么快?

  • 面试前,我们要复习多少Redis知识?

  • Redis性能问题分析

  • 浅谈CAP和Paxos共识算法

  • 聊一聊Java中的文件锁

  • Kafka为什么这么快?

  • Paxos、Raft不是一致性算法嘛?

  • 聊聊Java的几把JVM级锁

  • 越说越迷糊的CAP

  • 大公司为什么都有API网关?

  • 面试官居然问我Raft为什么会叫做Raft!

>>> 字节跳动社招内推入口 <<<

>>> 字节跳动校招内推入口 <<<

朕已阅 

这篇关于面试官给我挖坑:URI中的 “//” 有什么用?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129648

相关文章

【吊打面试官系列-Redis面试题】说说 Redis 哈希槽的概念?

大家好,我是锋哥。今天分享关于 【说说 Redis 哈希槽的概念?】面试题,希望对大家有帮助; 说说 Redis 哈希槽的概念? Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽, 集群的每个节点负责一部分 hash 槽。

面试官:synchronized的锁升级过程是怎样的?

大家好,我是大明哥,一个专注「死磕 Java」系列创作的硬核程序员。 回答 在 JDK 1.6之前,synchronized 是一个重量级、效率比较低下的锁,但是在JDK 1.6后,JVM 为了提高锁的获取与释放效,,对 synchronized 进行了优化,引入了偏向锁和轻量级锁,至此,锁的状态有四种,级别由低到高依次为:无锁、偏向锁、轻量级锁、重量级锁。 锁升级就是无锁 —>

【Unity面经】实习篇:面试官常问的一百个面试题

👨‍💻个人主页:@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧🟥Unity100个实战基础✨🎁🟦 Unity100个精华一记✨🎁🟩 Unity50个demo案例教程✨🎁🟨 Unity100个精华细节BUG✨🎁🟨 Unity100个面试题✨🎁 文章

URL, URI 和 URN 之间的区别

英文原文:What's the difference between a URI and a URL?     URI 标识一个事物 , URL 定位一个事物;然而,位置同样可以标识一个事物,所以,每个 URL 都是一个 URI,但一个 URI 并不一定是一个 URL。   举例说明 罗杰·佩特   这是我的名字,这是一个标识。它就像一个 URI,但它不是一个 URL,因为,它不

作为面试官的一点点感悟,谈谈技术人的成长之路

因为工作上的原因,做过几次面试官,面试的同学有应届生,也有工作3-5年的老技术人。最近也频繁作为面试官帮助筛选候选人,中间有很多值得深思的东西,我记录了下来分享给大家。 以下观点仅为个人观点,不代表任何公司的立场。        01 面试不是简单的你问我答 一般来讲,作为面试官和候选人进行沟通的第一个问题是一般是自我介绍,整个自我介绍的情况应该控制在2分钟左右,阐述自己的教育背景,项目经历

【对线面试官】阿里面试经历,有些人走一步看一步就挂了

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 这个其实说来就话长了。是小编曾经面试阿里妈妈的经历。 这次面试最终在HR面挂掉,以至于后面回忆起来,仍然是一桩美谈。 这次面试长达一个月之久,共经历了4轮技术面,1轮HR。前四轮面试过关斩将,简直开了挂一般,跟面试官正面对线,丝毫不虚。听我一一道来。 第一轮 第一面是电话面试,晚上10点半。我特么一脸问号?你们这是刚加完班吧?事实上我

【大数据哔哔集20210122】面试官问我HDFS丢不丢数据?我啪就把这个文章甩到他脸上

数据一致性 HDFS作为分布式文件系统在分布式环境下如何保证数据一致性。HDFS中,存储的文件将会被分成若干的大小一致的block分布式地存储在不同的机器上,需要NameNode节点来对这些数据进行管理,存储这些block的结点称为DataNode,NameNode是用来管理这些元数据的。 NameNode保证元数据的一致性 客户端上传文件时,NameNode首先往edits log文件

几乎每一位面试官都会关注的能力,你做到了吗?

又到了金九银十招聘季,虽然说大环境不好,但对于不少想要挪窝的同学来说,这个时间段还是一个不错的窗口期。 我也借此机会在Boss上看了不少岗位,发现很多岗位JD都有一条关于“功能设计规范”的要求。 相比较于设计岗的设计规范原则,产品岗的设计规范会要求你对业务、产品有更强的纵深性,但这种基础且重要的能力被太多人忽视了。 因此,我列举了以下11点产品设计规范,同学们可以自查一下看看日常有没有做到

nacos Spring cloud 报错 URI is not absolute、service not found、502 bad gateway

- 服务没找到,请加入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency> - 如果是 "URI is not absolute" , 将URL变成固定的字符串,例如