URL 简介
概述
URL 是“统一资源定位符”(Uniform Resource Locator)的首字母缩写,中文译为“网址”,表示各种资源的互联网地址。下面就是一个典型的 URL。
```html
https://www.example.com/path/index.html
```
所谓资源,可以简单理解成各种可以通过互联网访问的文件,比如网页、图像、音频、视频、JavaScript 脚本等等。只有知道了它们的 URL,才能在互联网上获取它们。
只要资源可以通过互联网访问,它就必然有对应的 URL。一个 URL 对应一个资源,但是同一个资源可能对应多个 URL。
URL 是互联网的基础。互联网之所以“互联”,就是因为网页可以通过“链接”(link),包含其他 URL。用户只要点击,就可以从一个 URL 跳转到另一个 URL,前往不同的网站。
URL和ASCLL码
URL 字符转义的方法是,在这些字符的十六进制 ASCII 码前面加上百分号(`%`)。下面是这18个字符及其转义形式。
- `!`:%21
- `#`:%23
- `$`:%24
- `&`:%26
- `'`:%27
- `(`:%28
- `)`:%29
- `*`:%2A
- `+`:%2B
- `,`:%2C
- `/`:%2F
- `:`:%3A
- `;`:%3B
- `=`:%3D
- `?`:%3F
- `@`:%40
- `[`:%5B
- `]`:%5D
举例来说,有一个网页的 URL 是`foo?bar.html`,即文件里面包含一个问号,那么需要写成`foo%3Fbar.html`。
URL 的合法字符,其实也可以采用这种转义方法,但是不建议使用。比如,字母`a`的十六进制 ASCII 码是`61`,转义形式后就是`%61`。因此,`www.apple.com`又可以写成`www.%61pple.com`,浏览器一样识别。
值得注意的是,空格的转义形式是`%20`。对于那些包含空格的文件名,这个转义是必须的。
既不属于合法字符、也不属于保留字符的其他字符(比如汉字),理论上不需要手动转义,可以直接写在 URL 里面,比如`www.example.com/中国.html`,浏览器会自动将它们转义,发给服务器。转义方法是使用这些字符的十六进制 UTF-8 编码,每两位算作一组,然后每组头部添加百分号(`%`)。
举例来说,汉字`中`的 UTF-8 十六进制编码是`e4b8ad`,每两个字符一组,URL 转义后就为`%e4%b8%ad`。也就是说,URL 里面凡是有汉字`中`的地方,都要写成`%e4%b8%ad`。因此,访问`www.example.com/中国.html`这个网址,需要写成下面的样子。
```html
www.example.com/%e4%b8%ad%e5%9b%bd.html
```
常见案例
Unicode和UTF-8有什么区别
Unicode是一种字符集,而UTF-8是Unicode的一种实现方式。此外,Unicode定义了每个字符的编号和名称,而UTF-8则是一种用于在计算机上存储和传输Unicode字符的编码方式。