Mã hóa các địa chỉ URL là việc dịch các ký tự không thể in được hoặc các ký tự với ý nghĩa đặc biệt trong địa chỉ URL thành một đại diện rõ ràng và được chấp nhận bởi hầu hết các máy chủ và trình duyệt. Những ký tự này bao gồm:
- Các ký tự điều khiển ASCII - Các ký hiệu không in được tiêu biểu sử dụng cho điều khiển tín hiệu ra. Dãy này là một phần của bộ ký tự ISO-Latin và bao gồm toàn bộ nửa trên cùng củabộ ISO-Latin từ 80-FF thập lục phân (từ 128-255 trong hệ thập phân). Một bảng đầy đủ các mã hóa sẽ được cung cấp bên dưới.
- Các ký tự điều khiển bên ngoài ASCII - Đây là những ký tự ở phần bên ngoài của bộ 128 ký tự ASCII. Dãy này là một phần của bộ ký tự ISO-Latin và bao gồm toàn bộ nửa trên của bộ ISO-Latin từ 80-FF hệ thập lục phân (từ 128-255 trong hệ thập phân). Một bảng đầy đủ sẽ được cung cấp bên dưới.
- Các ký tự dành riêng - Đây là các ký tự đặc biệt như ký hiệu đồng Đôla, dấu cộng, dấu gạch ngang…. Tất cả các ký tự này có ý nghĩa khác nhau bên trong một địa chỉ URL, vì thế nó cần thiết được mã hóa. Một bảng đầy đủ sẽ được cung cấp bên dưới.
- Các ký tự không an toàn - Đây là những ký tự như khoảng trống, dấu nhỏ hơn, dấu lớn hơn…. Những ký tự này khả năng có thể không được hiểu trong các địa chỉ URL vì các lý do khác nhau. Những ký tự này thường cũng nên được mã hóa. Một bảng đầy đủ sẽ được cung cấp bên dưới.
Các ký hiệu mã hóa thay thế các ký tự bạn muốn với ba ký tự: một dấu phần trăm và hai chữ số thập lục phân tương ứng với các vị trí của các ký tự trong bộ ký tự ASCII.
Ví dụ
Một trong những các ký tự đặc biệt thường dùng là khoảng trống trắng. Bạn không thể gõ một khoảng trống vào trong một địa chỉ URL một cách trực tiếp. Vị trí khoảng trống trong bộ ký tự là 20 trong hệ thập lục phân. Vì thế bạn có thể sử dụng %20 để thay thế cho khoảng trống khi gửi yêu cầu của bạn tới máy chủ.
http://www.example.com/new%20pricing.jsp
Địa chỉ URL này đúng là trả về một trang có tên "new pricing.jsp" từ trang www.example.com .
Mã hóa các ký tự điều khiển ASCII
Bảng dưới bao gồm mã hóa cho các ký tự từ 00-1F trong hệ thập lục phân (0-31 trong hệ thập phân) và 7F trong hệ thập lục phân ( 127 trong hệ thập phân).
Hệ thập phân | Giá trị thập lục phân | Ký tự | Mã 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 | |
8 | 08 | backspace | %08 |
9 | 09 | tab | %09 |
10 | 0a | linefeed | %0a |
11 | 0b | %0b | |
12 | 0c | %0c | |
13 | 0d | carriage return | %0d |
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 | 1d | %1d | |
30 | 1e | %1e | |
31 | 1f | %1f | |
127 | 7f | %7f |
Mã hóa các ký tự điều khiển Non-ASCII
Bảng dưới bao gồm mã hóa các ký tự thuộc nửa trên của bộ ISO-Latin từ 80-FF trong hệ thập lục phân (128-255 trong hệ thập phân).
Hệ thập phân | Giá trị thập lục phân | Ký tự | Mã 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 | 8d | | %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 | š | %9a |
155 | 9b | › | %9b |
156 | 9c | œ | %9c |
157 | 9d | | %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 | ad | | %ad |
174 | ae | ® | %ae |
175 | af | ¯ | %af |
176 | b0 | ° | %b0 |
177 | b1 | ± | %b1 |
178 | b2 | ² | %b2 |
179 | b3 | ³ | %b3 |
180 | b4 | ´ | %b4 |
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 | be | ¾ | %be |
191 | bf | ¿ | %bf |
192 | c0 | À | %c0 |
193 | c1 | Á | %c1 |
194 | c2 | Â | %c2 |
195 | c3 | Ã | %c3 |
196 | c4 | Ä | %c4 |
197 | c5 | Å | %c5 |
198 | c6 | Æ | %v6 |
199 | c7 | Ç | %c7 |
200 | c8 | È | %c8 |
201 | c9 | É | %c9 |
202 | ca | Ê | %ca |
203 | cb | Ë | %cb |
204 | cc | Ì | %cc |
205 | cd | Í | %cd |
206 | ce | Î | %ce |
207 | cf | Ï | %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 | Þ | %de |
223 | df | ß | %df |
224 | e0 | à | %e0 |
225 | e1 | á | %e1 |
226 | e2 | â | %e2 |
227 | e3 | ã | %e3 |
228 | e4 | ä | %e4 |
229 | e5 | å | %e5 |
230 | e6 | æ | %e6 |
231 | e7 | ç | %e7 |
232 | e8 | è | %e8 |
233 | e9 | é | %e9 |
234 | ea | ê | %ea |
235 | eb | ë | %eb |
236 | ec | ì | %ec |
237 | ed | í | %ed |
238 | ee | î | %ee |
239 | ef | ï | %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 | þ | %fe |
255 | ff | ÿ | %ff |
Mã hóa các ký tự dành riêng
Dưới đây là bảng được sử dụng để mã hóa các ký tự dành riêng:
Hệ thập phân | Giá trị thập lục phân | Ký tự | Mã 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 các ký tự không an toàn
Dưới đây là bảng được sử dụng để mã hóa các ký tự không an toàn.
Hệ thập phân | Giá trị thập lục phân | Ký tự | Mã URL |
---|---|---|---|
32 | 20 | space | %20 |
34 | 22 | " | %22 |
60 | 3c | < | %3c |
62 | 3e | > | %3e |
35 | 23 | \# | %23 |
37 | 25 | % | %25 |
123 | 7b | { | %7b |
125 | 7d | } | %7d |
124 | 7c | | | %7c |
92 | 5c | \\ | %5c |
94 | 5e | ^ | %5e |
126 | 7e | ~ | %7e |
91 | 5b | \[ | %5b |
93 | 5d | \] | %5d |
96 | 60 | ` | %60 |