La codificación de URL es la práctica de traducir caracteres no imprimibles o caracteres con un significado especial dentro de las URL a una representación que es inequívoca y universalmente aceptada por los navegadores web y servidores. Estos personajes incluyen:
-
Caracteres de control ASCII – Caracteres no imprimibles que se utilizan normalmente para el control de salida. Los rangos de caracteres son 00-1F hexadecimal (0-31 decimal) y 7F (127 decimal). A continuación se proporciona una tabla de codificación completa.
-
Caracteres de control no ASCII – Estos son caracteres más allá del conjunto de caracteres ASCII de 128 caracteres. Este rango es parte del conjunto de caracteres ISO-Latin e incluye la «mitad superior» completa del conjunto ISO-Latin 80-FF hexadecimal (128-255 decimal). A continuación se proporciona una tabla de codificación completa.
-
Personajes reservados – Se trata de caracteres especiales como el signo de dólar, el signo comercial, el signo más, el común, la barra inclinada, los dos puntos, el punto y coma, el signo igual, el signo de interrogación y el símbolo «arroba». Todos estos pueden tener diferentes significados dentro de una URL, por lo que deben codificarse. A continuación se proporciona una tabla de codificación completa.
-
Personajes inseguros – Estos son espacio, comillas, símbolo menor que, símbolo mayor que, carácter de almohadilla, carácter de porcentaje, llave rizada izquierda, llave rizada derecha, tubería, barra invertida, carátula, tilde, corchete izquierdo, corchete derecho, acento grave. Estos caracteres presentan la posibilidad de ser malinterpretados dentro de las URL por varias razones. Estos caracteres también deben estar siempre codificados. A continuación se proporciona una tabla de codificación completa.
La notación de codificación reemplaza el carácter deseado con tres caracteres: un signo de porcentaje y dos dígitos hexadecimales que corresponden a la posición del carácter en el juego de caracteres ASCII.
Ejemplo
Uno de los caracteres especiales más comunes es un espacio en blanco. No puede escribir un espacio en una URL directamente. Una posición de espacio en el conjunto de caracteres es 20 hexadecimales. Por lo tanto, puede usar% 20 en lugar de un espacio al pasar su solicitud al servidor.
http://www.example.com/new%20pricing.htm
Esta URL en realidad recupera un documento llamado «nuevo precio.htm» de www.example.com
Codificación de caracteres de control ASCII
Esto incluye la codificación para los rangos de caracteres 00-1F hexadecimal (0-31 decimal) y 7F (127 decimal)
Decimal | Valor hexadecimal | Personaje | Codificación de 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 | retroceso | % 08 |
9 | 09 | pestaña | % 09 |
10 | 0a | linea de alimentación | % 0a |
11 | 0b | % 0b | |
12 | 0c | % 0c | |
13 | 0d | retorno de carro | % 0d |
14 | 0e | % 0e | |
15 | 0f | % 0f | |
dieciséis | 10 | % 10 | |
17 | 11 | % 11 | |
18 | 12 | % 12 | |
19 | 13 | % 13 | |
20 | 14 | % 14 | |
21 | 15 | %15 | |
22 | dieciséis | %dieciséis | |
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 |
Codificación de caracteres de control no ASCII
Esto incluye la codificación de toda la «mitad superior» del conjunto ISO-Latin 80-FF hexadecimal (128255 decimal).
Decimal | Valor hexadecimal | Personaje | Codificación de 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 | Automóvil club británico | ª | %Automóvil club británico |
171 | ab | « | % ab |
172 | C.A | ¬ | %C.A |
173 | anuncio | | %anuncio |
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 | licenciado en Letras | º | %licenciado en Letras |
187 | cama y desayuno | » | %cama y desayuno |
188 | antes de Cristo | ¼ | %antes de Cristo |
189 | bd | ½ | % bd |
190 | ser | ¾ | %ser |
191 | bf | ¿ | % bf |
192 | c0 | A | % c0 |
193 | c1 | A | % c1 |
194 | c2 | A | % c2 |
195 | c3 | A | % c3 |
196 | c4 | A | % c4 |
197 | c5 | A | % c5 |
198 | c6 | Æ | % v6 |
199 | c7 | C | % c7 |
200 | c8 | MI | % c8 |
201 | c9 | MI | % c9 |
202 | California | MI | %California |
203 | cb | MI | % cb |
204 | cc | I | % cc |
205 | CD | I | %CD |
206 | ce | I | % ce |
207 | cf | I | % cf |
208 | d0 | D | % d0 |
209 | d1 | NORTE | % 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 | corriente continua | Ü | %corriente continua |
221 | dd | Ý | % dd |
222 | Delaware | Þ | %Delaware |
223 | df | ß | % df |
224 | e0 | a | % e0 |
225 | e1 | a | % e1 |
226 | e2 | a | % e2 |
227 | e3 | a | % e3 |
228 | e4 | a | % e4 |
229 | e5 | a | % e5 |
230 | e6 | æ | % e6 |
231 | e7 | C | % e7 |
232 | e8 | mi | % e8 |
233 | e9 | mi | % e9 |
234 | ea | mi | % ea |
235 | eb | mi | % eb |
236 | CE | I | %CE |
237 | ed | I | % ed |
238 | ee | I | % ee |
239 | ef | I | % ef |
240 | f0 | D | % f0 |
241 | f1 | norte | % 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 | pensión completa | û | %pensión completa |
252 | fc | ü | % fc |
253 | fd | ý | % fd |
254 | fe | þ | % fe |
255 | ff | ÿ | % ff |
Codificación de caracteres reservados
A continuación se muestra la tabla que se utilizará para codificar caracteres reservados.
Decimal | Valor hexadecimal | Carbonizarse | Codificación de URL |
---|---|---|---|
36 | 24 | PS | % 24 |
38 | 26 | Y | % 26 |
43 | 2b | &más; | % 2b |
44 | 2c | , | % 2c |
47 | 2f | / | % 2f |
58 | 3a | : | % 3a |
59 | 3b | ; | % 3b |
61 | 3d | = | % 3d |
63 | 3f | ? | % 3f |
64 | 40 | @ | % 40 |
Codificación de caracteres inseguros
A continuación se muestra la tabla que se utilizará para codificar caracteres no seguros.
Decimal | Valor hexadecimal | Carbonizarse | Codificación de URL |
---|---|---|---|
32 | 20 | espacio | % 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 |