HTML URL 与 URL 编码

URL - 统一资源定位符,URL 是 Web 地址的另一种说法,如果 URL 包含 ASCII 集之外的字符,则需要进行 URL 编码。

URL 是 Uniform Resource Locator 的缩写, 翻译成中文的意思统一资源定位符。URL 是 Web 地址的另一种说法。

URL 可以由域名(例如 gobeta.net)或 IP (Internet 协议) 地址(例如 192.68.20.50)组成。

人们在使用网址的时候更喜欢使用使用域名,因为域名比数字更容易记忆。

URL 的组成

Web 浏览器使用 URL 从 Web 服务器请求页面,Web 服务器收到 URL 请求后,根据 URL 在服务器的相应文职寻找对应的 HTML 文档。

URL 遵循以下语法规则:

scheme://prefix.domain:port/path/filename

URL 组成部分说明:

  • scheme: 对应互联网服务的类型(常见有 http, https, ftp, file
  • prefix: 对应域名前缀,就是常说的子域名(http 默认为 www
  • domain: 对应域名(如 gobeta.net)
  • port: 对应主机上的端口号(http 的默认值为 80, https 的默认端口号是 443
  • path: 对应服务器上的路径(如果省略:则对应的是网站的根目录)
  • filename: 对应文档或资源的名称

常见的 URL Schemes

下表列出了一些常见的 URL Schemes:

Scheme 全名 用途
http HyperText Transfer Protocol 未加密的网页
https Secure HyperText Transfer Protocol 加密过的安全的网页
ftp File Transfer Protocol 上传或者下载文件
file   计算机文件

URL 编码

URL 只能使用ASCII 字符集,如果 URL 包含 ASCII 集之外的字符(比如中文,韩文,日文等),则需要进行 URL 编码。

URL 编码将非 ASCII 字符转换通过某种编码方法转变为 ASCII 字符,用到的编码方法叫做 URL 编码。

URL 编码的规则是 % 后跟非 ASCII 字符对应的十六进制数字编码,比如“你好”对应的编码是 %E4%BD%A0%E5%A5%BD

URL 中不能包含空格,URL 编码通常用加号 (+) 或 %20 替换空格。

ASCII 编码示例

您的浏览器将根据页面中使用的字符集对输入进行编码。

HTML5 中的默认字符集是 UTF-8。

字符 Windows-1252 编码 UTF-8 编码
%80 %E2%82%AC
£ %A3 %C2%A3
© %A9 %C2%A9
® %AE %C2%AE
À %C0 %C3%80
Á %C1 %C3%81
 %C2 %C3%82
à %C3 %C3%83
Ä %C4 %C3%84
Å %C5 %C3%85