que encodear direcciones codigo codificación caracteres url

encodear - ¿Qué conjunto de caracteres debería asumir los caracteres codificados en una URL para estar?



que es codigo url (2)

RFC 1738 especifica la sintaxis para las URL y menciona que

Las URL se escriben solo con los caracteres imprimibles gráficos de
Juego de caracteres codificado US-ASCII. Los octetos 80-FF hexadecimales no son
utilizado en US-ASCII, y los octetos 00-1F y 7F hexadecimal representan
personajes de control; estos deben estar codificados.

Sin embargo, no dice qué código configuran estos octetos.

RFC 2396 parece intentar mejorar la situación, pero:

Sin embargo, para las secuencias de caracteres originales que contienen caracteres que no son ASCII, la situación es más difícil. Se espera que los protocolos de Internet que transmiten secuencias de octetos destinados a representar secuencias de caracteres proporcionen alguna forma de identificar el juego de caracteres utilizado, si pudiera haber más de uno [RFC2277]. Sin embargo, actualmente no hay ninguna disposición dentro de la sintaxis URI genérica para lograr esta identificación. Un esquema de URI individual puede requerir un juego de caracteres único, definir un juego de caracteres predeterminado o proporcionar una forma de indicar el juego de caracteres utilizado.

Se espera que se desarrolle un tratamiento sistemático de la codificación de caracteres dentro de URI como una modificación futura de esta especificación.

¿Hay alguna manera no ambigua en la que un cliente puede determinar en qué conjunto de caracteres interpretar los octetos codificados, o en el que un servidor puede determinar con qué lo codificó un cliente?

Me parece que la mayoría de los servidores tienen por defecto UTF-8, pero esta parece ser una elección de hecho más que una especificada.


Creo que la especificación que está buscando es RFC 3987 , que describe los IRI: identificadores de recursos internacionalizados.


Según su presupuesto, las URL son ASCII. eso es todo.

URIs OTOH, permite conjuntos más grandes; usualmente UTF-8 como dijiste a ti mismo.

el punto a recordar es que las URL son un subconjunto de URI. por lo tanto, la verdadera pregunta es, ¿cuál de estos es lo que escribe en un navegador? Supongo que puede escribir un URI, y el navegador debería intentar lo mejor para transformarlo a una URL (que es lo que HTTP / 1.1 admite, AFAICR). para caracteres que no son ASCII, que significa códigos hexadecimales, que generalmente codifica UTF-8.