HTML5 - 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 bên dưới.
Non-ASCII control characters- Đây là các 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 hệ lục phân 80-FF thuộc bộ ISO-Latinh (128-255 thập phân). Bảng mã hóa hoàn chỉnh được đưa ra bên dưới.
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 bên dưới.
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 bên dưới.
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 hệ thập lục phân. Vì vậy, bạn có thể sử dụng% 20 tại chỗ khi chuyển yêu cầu của bạn đến máy chủ.
http://www.example.com/new%20pricing.html
URL này thực sự truy xuất tài liệu có tên new price.html 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-Latin 80-FF hex (128-255 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 | S | % 8a |
139 | 8b | ‹ | % 8b |
140 | 8c | Œ | % 8c |
141 | 8ngày | ?? | % 8d |
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 | S | % 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à | ¾ | %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 |