【前端 · 面试 】HTTP 总结(十二)—— URL 和 URI
2021/8/16 8:06:09
本文主要是介绍【前端 · 面试 】HTTP 总结(十二)—— URL 和 URI,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最近我在做前端面试题总结系列,感兴趣的朋友可以添加关注,欢迎指正、交流。
争取每个知识点能够多总结一些,至少要做到在面试时,针对每个知识点都可以侃起来,不至于哑火。
引言
不知道有多少人是和我一样分不清 URL 和 URI 的?
说来惭愧,之前自己一直以为 URL 和 URI 是一样的,所以在称呼它们的时候经常混着用,当偶然得知它们是两种不同概念的时候,我的状态是这样的:
用一个词形容就是:汗颜!如果一直无知下去,或许还好,可一旦知道真相,就会想着自己以前是不是因为这个闹了笑话而不自知……往事不堪回首!为了避免以后可能的出糗,这两个概念是一定要弄明白的!
URL
概念
全称为 Uniform Resource Locator,翻译为“统一资源定位符”,用于标示网络资源的位置。
URL 是 Internet 上资源的地址,可以定义为引用地址的字符串,用于指示资源的位置以及用于访问它的协议。
URL 是在网络上定位资源的最普遍使用的方式,它提供了一种通过描述其网络位置或主要访问机制来检索物理位置的表示的方法。
URL 中描述了协议,用于检索资源和资源名称。如果资源是 Web 类型资源,则 URL 在开头包含 http / https。同样,如果资源是文件,则以 ftp 开头,如果资源是电子邮件地址,则以 mailto 开头。
组成
URL 包含以下信息:
- 用于访问资源的协议
- 服务器的位置(无论是通过IP地址还是域名)
- 服务器上的端口号(可选)
- 资源在服务器目录结构中的位置
- 片段标识符(可选)
比如:
https://juejin.cn/user/2893570333750744/posts
作用
URL 主要用于链接网页,网页组件或网页上的程序,借助访问方法(http,ftp,mailto 等协议)来检索位置资源。
URI
概念
全称为 Uniform Resource Identifier,翻译为“统一资源标识符”,用于标示一个抽象或者物理资源。
URI 是标识逻辑或物理资源的字符序列,与 URL 类似,也是一串字符。通过使用位置,名称或两者来标识 Internet 上的资源,它允许统一识别资源。
有两种类型的URI,统一资源标识符(URL)和统一资源名称(URN)。
组成
任何URI的通用形式都是:
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。
~
~本文完,感谢阅读!
~
学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!
你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!
知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!
这篇关于【前端 · 面试 】HTTP 总结(十二)—— URL 和 URI的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21动态面包屑教程:新手入门指南
- 2024-12-21动态主题处理教程:新手必读指南
- 2024-12-21富文本编辑器教程:新手入门指南
- 2024-12-21前端项目部署教程:从零开始的全面指南
- 2024-12-21拖拽表格教程:轻松入门指南
- 2024-12-21Element-Plus教程:新手入门与实战指南
- 2024-12-21TagsView标签栏导航教程:轻松掌握标签栏导航
- 2024-12-21动态表格实战:新手入门教程
- 2024-12-21动态菜单项实战:一步步教你实现动态菜单项
- 2024-12-21动态面包屑实战:新手教程