URI
Uniform Resourse Identifier(统一资源标识符)
用来唯一标识互联网上的信息资源,是包含 URL 和 URN 的统一的定义。
URL
Uniform Resourse Locator(统一资源定位符)
例子:http://user:pass@host.com:80/path?query=string#hash
- http:// 定义以什么协议访问资源。
- user:pass@ 如果访问的资源需要特定的身份,我们可以通过这个表示身份,并且服务可以通过用户名与密码来进行验证。但是这样不安全,现在几乎用不到。
- host.com 可以是域名也可以是 ip,用于定位资源所在服务器在互联网中的位置。
- :80 端口,在一台服务器上可以运行很多软件的 web 服务,web 服务分别监听不同的端口。我们通过端口指定在找的是这台服务器上的哪个 web 服务。不写的情况下默认为 80 端口。
- /path 路由,在一个 web 服务上可能存放了很多不同的内容,我们通过路由来找到具体所需要的内容。写法与 linux 中文件目录的路径相似。
- ?query=string 搜索参数
- #hash 我们通过前面的部分找到了一个文档,这个文档可能非常大。但是客户端端可能不需要这么多的内容,只需要某一部分的内容。hash 就可以帮我们定位到文档的某一个片段。现在的 web 开发也常用 hash 作为锚点的定位工具。
URN
永久统一资源定位符
在资源移动之后还能被找到,但是目前还没有非常成熟的使用方案。