URL、URN和URI

URL(统一资源定位符)

URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址

URN(统一资源名称)

永久统一资源定位符,唯一标识一个实体的标识符,在资源移动之后还能被找到,作为特定内容的唯一名称使用的,与当前资源的所在地无关。使用URN,就可以将资源四处迁移,而不用担心迁移后无法访问

URI (统一资源标志符)

统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来,它是一个字符串用来标示抽象或物理资源
URI的组成: (这个解析很多博客说是URL,我个人更倾向于这是URI,认为也包含了URN的访问方式,如有误,敬请斧正)
在这里插入图片描述

  1. 协议部分:例子中就是“http:”,表示该网页使用的是http协议
  2. 协议和域名的分隔符 //
  3. 域名部分:例子中就是“www.aspxfans.com”,也可以使用IP地址作为域名,两者的区别下文会提到
  4. 域名和端口的分隔符 :
  5. 端口部分:例子中就是“8080”,该部分为可选项,默认为80
  6. 虚拟目录部分:例子中就是“/news/”,从域名后的第一个“/”开始到最后一个“/”为止都是虚拟目录部分,该部分也为可选项
  7. 文件名部分:例子中就是“index.asp”,从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。该部分也为可选项。虚拟目录和文件名一般用于层次比较多的地方,例如寻找GitHub中某个项目,https://github.com/虚拟目录/文件名.git
  8. 文件名和参数的分隔符 ?
  9. 查询部分:有些文章中称为“参数部分”,我个人认为“查询”更符合该段的作用,类似于数据库操作中的where,例子中就是“boardID=5&ID=24618&page=1”,意思是要求服务器将满足boardID=5并且page=1的数据返回给我们使用
  10. 参数和锚的分割符 #
  11. 锚部分:又称为“片段”,例子中就是“name”,表示访问该URL指向的页面时定位到名字叫做name 的部分,也是可选项

URL、URN和URI的区别

这篇博客中看到了一个我觉得很好的例子:
用一个人打比方,
URL就相当于:动物住址协议://地球/中国/陕西省/西安市/长安区/西安邮电大学/1号宿舍楼/5号寝/张三.人
URN就是身份证号
显然,通过URL和URN我们都可以确定唯一的一个人,起到了URI的作用,所以URL和URN都是URI的子集,只不过URL是通过地址来确定张三这个人,而URN是通过身份证号

用URI来说就是:

// 这是一个URI
http://bitpoetry.io/posts/hello.html#intro
/*
http:// 是定义如何访问资源的方式
bitpoetry.io/posts/hello.html 是资源存放的位置
#intro 是资源
*/
// URL是URI的一个子集,告诉我们访问网络位置的方式。上例中,URL应该如下: 
http://bitpoetry.io/posts/hello.html

// URN是URI的子集,包括名字(给定的命名空间内),但是不包括访问方式,如下所示: 
bitpoetry.io/posts/hello.html#intro

域名和IP地址的区别

  1. 定义:好比我们现在说“西安邮电大学”,“西安邮电大学”这个名字就是域名,而“西安邮电大学”这个地方(实实在在的,能踩到的物理地址)就是IP地址
  2. 域名相对于网站,IP地址相对于网络,由DNS(域名解析服务器)来进行解析。你给它一个域名,它返回给你一个IP地址
  3. 表示方法:域名一般为“www.****.com”,而IP地址一般为二进制
  4. 映射关系:一个IP地址只对应一个计算机,一个域名可以对应一个或多个IP地址,一个IP地址也可以对应一个或多个域名
  5. 为什么一个域名可以对应多个IP?
    出于效率原因,服务器会根据各个访问的IP地址选择路由跳数最小的IP地址返回,同时,出于提高业务可用性,也会有多个备选IP,当一个出现问题时,可以实现故障切换
  6. 为什么一个IP地址可以对应多个域名?
    这个就好理解多了,一个IP地址对应一台计算机,一台计算机一般不会只用于一项服务,会使用多个域名
    每台计算机都有一个唯一的IP地址,当我们想要和一个远程机器连接时,我们可以申请连接该机器IP地址下的DNS(比如:www.baidu.com),DNS收到请求后,会给我们提供一个IP地址,然后我们服务器根据这个IP地址去找寻
    请求过程是这样:我们输入DNS -> get到对应的IP地址 -> 根据IP地址去找寻
    回到上文,URL中的域名部分,我们可写域名也可写IP地址,如果写IP地址就是跳过DNS解析的步骤,但是使用的IP地址不一定会是最佳地址

参考文献

URL和URI的区别
详解URL的组成_野生程序猿-CSDN博客_url的组成
URI URL URN 简介_neos的博客-CSDN博客
对于计算机领域的URI、URL、URN理解认识
域名和ip地址的区别_L未若的博客-CSDN博客_域名和ip地址有什么关系
一个域名可以对应多个ip吗-西部数码知识库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值