Todas las guías

Caracteres reservados de URL explicados

Guías de codificación de URL

La especificación de URL (RFC 3986) divide los caracteres en reservados (reserved) y no reservados (unreserved). Conocer esta división deja claro cuándo debes codificar y cuándo no hace falta.

Caracteres no reservados (seguros tal cual)

Las letras, los dígitos y los cuatro símbolos - _ . ~ pueden aparecer en cualquier posición sin codificarse. Codificarlos no cambiaría su significado, así que normalmente se dejan tal cual.

Caracteres reservados (con significado estructural)

Los caracteres reservados dividen una URL en partes. Para usar uno como dato literal, debes codificarlo.

La frontera entre encodeURI y encodeURIComponent

encodeURI conserva esos caracteres reservados, de modo que no rompe la estructura de una URL ya completa. encodeURIComponent los codifica todos, que es lo que quieres al insertar un fragmento como el valor de un solo parámetro.

Usa encodeURIComponent para un único valor y encodeURI para una dirección completa: recordar solo esa regla evita la mayoría de los errores.