前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【前端 · 面试 】HTTP 总结(十二)—— URL 和 URI

【前端 · 面试 】HTTP 总结(十二)—— URL 和 URI

原创
作者头像
编程三昧
修改2021-08-16 10:28:37
5650
修改2021-08-16 10:28:37
举报
文章被收录于专栏:编程三昧

最近我在做前端面试题总结系列,感兴趣的朋友可以添加关注,欢迎指正、交流。

争取每个知识点能够多总结一些,至少要做到在面试时,针对每个知识点都可以侃起来,不至于哑火。

URL 和 URI
URL 和 URI

引言

不知道有多少人是和我一样分不清 URL 和 URI 的?

说来惭愧,之前自己一直以为 URL 和 URI 是一样的,所以在称呼它们的时候经常混着用,当偶然得知它们是两种不同概念的时候,我的状态是这样的:

用一个词形容就是:汗颜!如果一直无知下去,或许还好,可一旦知道真相,就会想着自己以前是不是因为这个闹了笑话而不自知……往事不堪回首!为了避免以后可能的出糗,这两个概念是一定要弄明白的!

URL

概念

全称为 Uniform Resource Locator,翻译为“统一资源定位符”,用于标示网络资源的位置。

URL 是 Internet 上资源的地址,可以定义为引用地址的字符串,用于指示资源的位置以及用于访问它的协议。

URL 是在网络上定位资源的最普遍使用的方式,它提供了一种通过描述其网络位置主要访问机制来检索物理位置的表示的方法。

URL 中描述了协议,用于检索资源和资源名称。如果资源是 Web 类型资源,则 URL 在开头包含 http / https。同样,如果资源是文件,则以 ftp 开头,如果资源是电子邮件地址,则以 mailto 开头。

组成

URL 包含以下信息:

  • 用于访问资源的协议
  • 服务器的位置(无论是通过IP地址还是域名)
  • 服务器上的端口号(可选)
  • 资源在服务器目录结构中的位置
  • 片段标识符(可选)

比如:

代码语言:txt
复制
https://juejin.cn/user/2893570333750744/posts

作用

URL 主要用于链接网页,网页组件或网页上的程序,借助访问方法(http,ftp,mailto 等协议)来检索位置资源。

URI

概念

全称为 Uniform Resource Identifier,翻译为“统一资源标识符”,用于标示一个抽象或者物理资源。

URI 是标识逻辑或物理资源的字符序列,与 URL 类似,也是一串字符。通过使用位置名称或两者来标识 Internet 上的资源,它允许统一识别资源。

有两种类型的URI,统一资源标识符(URL)和统一资源名称(URN)。

组成

任何URI的通用形式都是:

代码语言:txt
复制
scheme:[// [user:password @] host [:port]] [/] path [?查询] [#片段]

其中:

  • Scheme(方案):该方案列出了具体语法和URI的任何相关协议。方案不区分大小写,后跟冒号。理想情况下,URI方案应该在互联网号码分配机构(IANA)注册,但也可以使用非注册方案。
  • 权限组件:权限组件由多个部分组成:可选的身份验证部分,主机(由注册名称或IP地址组成) , 以及可选的端口号。身份验证部分包含用户名和密码,用冒号分隔,后跟at(@)符号。在@之后是主机名,然后是冒号,然后是一个端口号。请务必注意,IPv4地址必须采用点十进制表示法,并且IPv6地址必须括在括号中。
  • 查询(可选):查询包含一串非分层数据。虽然语法没有明确定义,但通常是由分隔符分隔的属性值对序列,例如&符号或分号。查询通过问号与前一部分分开。
  • 片段(可选):片段包含片段标识符,该标识符为辅助资源提供方向。

作用

URI 用于定义项目的标识,此处单词标识符表示无论使用的方法是什么(URL 或 URN),都要将一个资源与其他资源区分开来。

总结

通过上面 URL 和 URI 内容的学习,总结如下:

  • URL 指定要使用的协议类型,而 URI 不涉及协议规范。
  • 可以说 URL 是 URI(因为 URL 是 URI 的子集),但 URI 永远不能是 URL。

~

~本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!

你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!

知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • URL
    • 概念
      • 组成
        • 作用
        • URI
          • 概念
            • 组成
              • 作用
              • 总结
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档