HTTP 请求的内容通称为"资源"。”资源“这一概念非常宽泛,它可以是一份文档,一张图片,或所有其他你能够想到的格式。每个资源都由一个 (URI) 来进行标识。
URI、URL、URN
-
URI:
Uniform Resource Identifier
统一资源标识符 -
URL:
Uniform Resource Locator
统一资源定位器
URL是URI的一种,不仅标识了Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置。
- URN:
Uniform Resource Name
统一资源命名
URN是URI的一种,用特定命名空间的名字标识资源。使用URN可以在不知道其网络位置及访问方式的情况下讨论资源。
统一资源标识符的语法
scheme://hostname[:port]/path[?query]#fragment
URL的一般格式为(带方括号[]的为可选项)
- scheme: 协议或方案(或称为服务方式)
- hostname:IP地址、主机、域名(有时也包括端口号)
- port: 端口
- path 具体地址,如目录和文件名等
- query: 查询参数
- fragment: 锚点
三者区别
URL和URN是一种具体的URI,它们是URI的子集。
- URI是一个指向资源的字符串。
- URL指资源文件的具体位置。
- URN在给定的命名空间用名字指向具体的资源。
下面是来自维基百科的解释:
“URI可以分为URL、URN或同时具备locators和names特性的一个东西。URN作用就好像一个人的名字,URL就像一个人的地址。换句话说:URN确定了东西的身份,URL提供了找到它的方式。”