¿Qué caracteres especiales son seguros para usar en url?
¿Qué caracteres especiales son seguros para usar en url?
Respuestas:
Los caracteres seguros son az, AZ, 0-9 y _ - (subrayado y menos), que además de los caracteres reservados que se utilizan para los parámetros.
Otros personajes darán problemas en algún grado. ejemplo: si un parámetro es una matriz, ?param=array[content]
es decir, mostrará una url con los corchetes codificados por la url, que parecen feos e imposibles de dictar.
Pero el problema no es solo que es feo, digamos que tienes un jpg con un personaje al lado de los más seguros, muchas veces el navegador no podrá descargarlo obteniendo un 404. Este es un problema de navegadores más antiguos y algunos navegadores móviles.
¿Cómo probar esto?
Tengo una bandeja de entrada con 14000 correos electrónicos que prueban mi punto.
Los siguientes caracteres tienen un significado especial en el componente de ruta de su URL (el componente de ruta es todo antes del '?'):
";" | "/" | "?"
Además de esos, los siguientes caracteres tienen un significado especial en la parte de consulta de su URL (todo después de '?'). Por lo tanto, si están detrás del '?' necesitas escapar de ellos:
":" | "@" | "&" | "=" | "+" | "$" | ","
Para una explicación más detallada, vea el RFC .
Las respuestas aquí son buenas, pero hay una excepción más que creo que vale la pena mencionar: los caracteres que no están en inglés. Haciendo referencia a esta pregunta de SF aquí , los caracteres como ñ (como en español) son perfectamente legítimos, SI se han codificado en su DNS correctamente.
Debe usar Punycode dentro de su DNS para que se resuelvan en los navegadores modernos (la entrada para español es xn--espaol-zwa
), pero ahora son perfectamente seguros de usar en los nombres de dominio, ya que también son fáciles de escribir para quienes no hablan inglés. .