在我们开发过程中,调用各种接口再说难免。就免不了需要接触HTTP协议,就会经常见到各种调用包中URI和URL,那么他们有什么区别呢?
1.
定义
HTTP: Hyper Text Transfer Protocol 超级文本传输协议
URI: Uniform Resource Identifier 统一资源标志符
URL: Uniform Resource Locator 统一资源定位符
描述
**HTTP**
是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
默认端口:80
HTTP三特点:
1、无连接(无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。)前端培训
2、HTTP是媒体独立的(这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型)
3、HTTP是无状态(HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。)
**URI**
web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行标识的。
通常由三部分组成:
1、资源的命名机制;
2、存放资源的主机名;
3、资源自身的名称;
举例:
https://blog.51cto.com/
D:/123/234
**URL**
URL是URI的一个子集
格式由三部分组成:
1、第一部分是协议(或称为服务方式);
2、第二部分是存有该资源的主机IP地址(有时也包括端口号);
3、第三部分是主机资源的具体地址,如目录和文件名等;
第一部分和第二部分用“://”符号隔开,
第二部分和第三部分用“/”符号隔开。
第一部分和第二部分是不可缺少的,第三部分有时可以省略。
区别
看上去URI和URL是一个意思,其实不然。URI是一种相对抽象的解释,可以指定任何资源的唯一标识,而URL不仅仅是唯一标识,还能指定路径地址。可以理解为URL是URI的一种具体实现。
换言之,URI包含URL,能够定位唯一资源的都可称之为URI,定位唯一地址的称之为:URL