HTML - Mã hóa URL

Mã hóa URL là thực hành dịch các ký tự không in được hoặc các ký tự có ý nghĩa đặc biệt trong URL sang một biểu diễn rõ ràng và được chấp nhận trên toàn cầu bởi các trình duyệt web và máy chủ. Các ký tự này bao gồm -

  • ASCII control characters- Các ký tự không in được thường được sử dụng để kiểm soát đầu ra. Dải ký tự 00-1F hex (0-31 thập phân) và 7F (127 thập phân). Bảng mã hóa hoàn chỉnh được đưa ra dưới đây.

  • Non-ASCII control characters- Đây là những ký tự nằm ngoài bộ ký tự ASCII gồm 128 ký tự. Phạm vi này là một phần của bộ ký tự ISO-Latinh và bao gồm toàn bộ "nửa trên" của bộ ISO-Latinh 80-FF hex (128-255 thập phân). Bảng mã hóa hoàn chỉnh được đưa ra dưới đây.

  • Reserved characters- Đây là các ký tự đặc biệt như dấu đô la, dấu và, dấu cộng, dấu cộng, dấu gạch chéo lên, dấu hai chấm, dấu chấm phẩy, dấu bằng, dấu chấm hỏi và ký hiệu "at". Tất cả những điều này có thể có ý nghĩa khác nhau bên trong một URL, do đó cần được mã hóa. Bảng mã hóa hoàn chỉnh được đưa ra dưới đây.

  • Unsafe characters- Đây là khoảng trắng, dấu ngoặc kép, nhỏ hơn ký hiệu, lớn hơn ký hiệu, ký tự bảng Anh, ký tự phần trăm, Dấu ngoặc nhọn trái, Dấu ngoặc nhọn phải, Hình ống, Dấu gạch chéo ngược, Dấu mũ, Dấu nghiêng, Dấu ngoặc vuông trái, Dấu ngoặc vuông bên phải, Dấu gạch. Ký tự này có khả năng bị hiểu nhầm trong các URL vì nhiều lý do khác nhau. Các ký tự này cũng phải luôn được mã hóa. Bảng mã hóa hoàn chỉnh được đưa ra dưới đây.

Ký hiệu mã hóa thay thế ký tự mong muốn bằng ba ký tự: dấu phần trăm và hai chữ số thập lục phân tương ứng với vị trí của ký tự trong bộ ký tự ASCII.

Thí dụ

Một trong những ký tự đặc biệt phổ biến nhất là khoảng trắng. Bạn không thể nhập trực tiếp khoảng trắng trong URL. Vị trí khoảng trắng trong bộ ký tự là 20 chữ thập lục phân. Vì vậy, bạn có thể sử dụng% 20 thay cho khoảng trắng khi chuyển yêu cầu của bạn đến máy chủ.

http://www.example.com/new%20pricing.htm

URL này thực sự truy xuất tài liệu có tên "new price.htm" từ www.example.com

Mã hóa ký tự điều khiển ASCII

Điều này bao gồm mã hóa cho phạm vi ký tự 00-1F hex (0-31 thập phân) và 7F (127 thập phân)

Thập phân Giá trị Hex Tính cách Mã hóa URL
0 00   % 00
1 01   % 01
2 02   % 02
3 03   % 03
4 04   % 04
5 05   % 05
6 06   % 06
7 07   % 07
số 8 08 xóa lùi % 08
9 09 chuyển hướng % 09
10 0a nguồn cấp dữ liệu % 0a
11 0b   % 0b
12 0c   % 0c
13 0ngày vận chuyển trở lại % 0ngày
14 0e   % 0e
15 0f   % 0f
16 10   % 10
17 11   % 11
18 12   % 12
19 13   % 13
20 14   % 14
21 15   % 15
22 16   % 16
23 17   % 17
24 18   % 18
25 19   % 19
26 1a   % 1a
27 1b   % 1b
28 1c   % 1c
29 1ngày   % 1d
30 1e   % 1e
31 1f   % 1f
127 7f   % 7f

Mã hóa các ký tự điều khiển không phải ASCII

Điều này bao gồm mã hóa cho toàn bộ "nửa trên" của bộ ISO-Latinh 80-FF hex (128255 thập phân.)

Thập phân Giá trị Hex Tính cách Mã hóa URL
128 80 ?? % 80
129 81 ?? % 81
130 82 ?? % 82
131 83 ?? % 83
132 84 ?? % 84
133 85 ?? % 85
134 86 ?? % 86
135 87 ?? % 87
136 88 ?? % 88
137 89 ?? % 89
138 8a ?? % 8a
139 8b ?? % 8b
140 8c ?? % 8c
141 8ngày ?? % 8ngày
142 8e ?? % 8e
143 8f ?? % 8f
144 90 ?? % 90
145 91 ?? % 91
146 92 ?? % 92
147 93 ?? % 93
148 94 ?? % 94
149 95 ?? % 95
150 96 ?? % 96
151 97 ?? % 97
152 98 ?? % 98
153 99 ?? % 99
154 9a ?? % 9a
155 9b ?? % 9b
156 9c ?? % 9c
157 9 ngày ?? % 9d
158 9e ?? % 9e
159 9f ?? % 9f
160 a0   % a0
161 a1 ¡ % a1
162 a2 ¢ % a2
163 a3 £ % a3
164 a4 ¤ % a4
165 a5 ¥ % a5
166 a6 ¦ % a6
167 a7 § % a7
168 a8 ¨ % a8
169 a9 © % a9
170 aa ª % aa
171 ab « % ab
172 AC ¬ %AC
173 quảng cáo ­ % quảng cáo
174 ae ® % ae
175 af ¯ % af
176 b0 ° % b0
177 b1 ± % b1
178 b2 ² % b2
179 b3 ³ % b3
180 B 4 ´ %B 4
181 b5 µ % b5
182 b6 % b6
183 b7 · % b7
184 b8 ¸ % b8
185 b9 ¹ % b9
186 ba º %ba
187 bb » % bb
188 bc ¼ % bc
189 bd ½ % bd
190 ¾ %là
191 bf ¿ % bf
192 c0 À % c0
193 c1 Á % c1
194 c2 Â % c2
195 c3 Ã % c3
196 c4 Ä % c4
197 c5 Å % c5
198 C 6 Æ % v6
199 c7 Ç % c7
200 c8 È % c8
201 c9 É % c9
202 ca Ê % ca
203 cb Ë % cb
204 cc TÔI % cc
205 CD TÔI %CD
206 ce TÔI % ce
207 cf TÔI % cf
208 d0 Ð % d0
209 d1 Ñ % d1
210 d2 Ò % d2
211 d3 Ó % d3
212 d4 Ô % d4
213 d5 Õ % d5
214 d6 Ö % d6
215 d7 × % d7
216 d8 Ø % d8
217 d9 Ù % d9
218 da Ú % da
219 db Û % db
220 dc Ü % dc
221 dd Ý % dd
222 de THỨ TỰ % de
223 df ß % df
224 e0 à % e0
225 e1 á % e1
226 e2 â % e2
227 e3 ã % e3
228 e 4 ä %e 4
229 e5 å % e5
230 e6 æ % e6
231 e7 ç % e7
232 e8 è % e8
233 e9 é % e9
234 ea ê % ea
235 eb ë % eb
236 ec Tôi % ec
237 ed Tôi % ed
238 ee Tôi % ee
239 ef Tôi % ef
240 f0 ð % f0
241 f1 ñ % f1
242 f2 ò % f2
243 f3 ó % f3
244 f4 ô % f4
245 f5 õ % f5
246 f6 ö % f6
247 f7 ÷ % f7
248 f8 ø % f8
249 f9 ù % f9
250 fa ú % fa
251 fb û % fb
252 fc ü % fc
253 fd ý % fd
254 fe thứ tự % fe
255 ff ÿ % ff

Mã hóa các ký tự dành riêng

Sau đây là bảng được sử dụng để mã hóa các ký tự dành riêng.

Thập phân Giá trị Hex Char Mã hóa URL
36 24 $ % 24
38 26 & % 26
43 2b + % 2b
44 2c , % 2c
47 2f / % 2f
58 3a : % 3a
59 3b ; % 3b
61 3d = % 3d
63 3f ? % 3f
64 40 @ % 40

Mã hóa ký tự không an toàn

Sau đây là bảng được sử dụng để mã hóa các ký tự không an toàn.

Thập phân Giá trị Hex Char Mã hóa URL
32 20 không gian % 20
34 22 " % 22
60 3c < % 3c
62 3e > % 3e
35 23 # % 23
37 25 % % 25
123 7b { % 7b
125 7ngày } % 7d
124 7c | % 7c
92 5c \ % 5c
94 5e ^ % 5e
126 7e ~ % 7e
91 5b [ % 5b
93 5ngày ] % 5ngày
96 60 ` % 60