@@ -10,17 +10,17 @@ URL 是互联网的基础设施之一。浏览器提供了一些原生对象,
10
10
11
11
` Location ` 对象提供以下属性。
12
12
13
- - Location.href:整个 URL。
14
- - Location.protocol:当前 URL 的协议,包括冒号(` : ` )。
15
- - Location.host:主机,包括冒号(` : ` )和端口(默认的80端口和443端口会省略)。
16
- - Location.hostname:主机名,不包括端口。
17
- - Location.port:端口号。
18
- - Location.pathname:URL 的路径部分,从根路径` / ` 开始。
19
- - Location.search:查询字符串部分,从问号` ? ` 开始。
20
- - Location.hash:片段字符串部分,从` # ` 开始。
21
- - Location.username:域名前面的用户名。
22
- - Location.password:域名前面的密码。
23
- - Location.origin:URL 的协议、主机名和端口。
13
+ - ` Location.href ` :整个 URL。
14
+ - ` Location.protocol ` :当前 URL 的协议,包括冒号(` : ` )。
15
+ - ` Location.host ` :主机,包括冒号(` : ` )和端口(默认的80端口和443端口会省略)。
16
+ - ` Location.hostname ` :主机名,不包括端口。
17
+ - ` Location.port ` :端口号。
18
+ - ` Location.pathname ` :URL 的路径部分,从根路径` / ` 开始。
19
+ - ` Location.search ` :查询字符串部分,从问号` ? ` 开始。
20
+ - ` Location.hash ` :片段字符串部分,从` # ` 开始。
21
+ - ` Location.username ` :域名前面的用户名。
22
+ - ` Location.password ` :域名前面的密码。
23
+ - ` Location.origin ` :URL 的协议、主机名和端口。
24
24
25
25
``` javascript
26
26
// 当前网址为
@@ -115,12 +115,14 @@ window.location.reload(true);
115
115
116
116
## URL 的编码和解码
117
117
118
- 网页的 URL 只能包含合法的字符,这可以分成两类 。
118
+ 网页的 URL 只能包含合法的字符。合法字符分成两类 。
119
119
120
- - URL 元字符:分号(` ; ` ),逗号(',' ),斜杠(` / ` ),问号(` ? ` ),冒号(` : ` ),at(` @ ` ),` & ` ,等号(` = ` ),加号(` + ` ),美元符号(` $ ` ),井号(` # ` )
121
- - 语义字符:` a-z ` ,` A-Z ` ,` 0-9 ` ,连词号(` - ` ),下划线(` _ ` ),点(` . ` ),感叹号(` ! ` ),波浪线(` ~ ` ),星号(` * ` ),单引号(` \` `),圆括号(` ()`)
120
+ - URL 元字符:分号(` ; ` ),逗号(` , ` ),斜杠(` / ` ),问号(` ? ` ),冒号(` : ` ),at(` @ ` ),` & ` ,等号(` = ` ),加号(` + ` ),美元符号(` $ ` ),井号(` # ` )
121
+ - 语义字符:` a-z ` ,` A-Z ` ,` 0-9 ` ,连词号(` - ` ),下划线(` _ ` ),点(` . ` ),感叹号(` ! ` ),波浪线(` ~ ` ),星号(` * ` ),单引号(` ' ` ),圆括号(` () ` )
122
122
123
- 除了以上字符,其他字符出现在 URL 之中都必须转义,规则是根据操作系统的默认编码,将每个字节转为百分号(` % ` )加上两个大写的十六进制字母。比如,UTF-8 的操作系统上,` http://www.example.com/q=春节 ` 这个 URL 之中,汉字“春节”不是 URL 的合法字符,所以被浏览器自动转成` http://www.example.com/q=%E6%98%A5%E8%8A%82 ` 。其中,“春”转成了` %E6%98%A5 ` ,“节”转成了“%E8%8A%82”。这是因为“春”和”节“的 UTF-8 编码分别是` E6 98 A5 ` 和` E8 8A 82 ` ,将每个字节前面加上百分号,就构成了 URL 编码。
123
+ 除了以上字符,其他字符出现在 URL 之中都必须转义,规则是根据操作系统的默认编码,将每个字节转为百分号(` % ` )加上两个大写的十六进制字母。
124
+
125
+ 比如,UTF-8 的操作系统上,` http://www.example.com/q=春节 ` 这个 URL 之中,汉字“春节”不是 URL 的合法字符,所以被浏览器自动转成` http://www.example.com/q=%E6%98%A5%E8%8A%82 ` 。其中,“春”转成了` %E6%98%A5 ` ,“节”转成了` %E8%8A%82 ` 。这是因为“春”和”节“的 UTF-8 编码分别是` E6 98 A5 ` 和` E8 8A 82 ` ,将每个字节前面加上百分号,就构成了 URL 编码。
124
126
125
127
JavaScript 提供四个 URL 的编码/解码方法。
126
128
0 commit comments