2012-01-31 14 views
47

Hay alguna diferencia en el comportamiento de la URL siguiente.¿Qué es & amp usado para

No sé por qué se inserta el &, ¿hace alguna diferencia?

www.testurl.com/test?param1=test&current=true 

frente

www.testurl.com/test?param1=test&current=true 
+0

"comportamiento" en qué contexto? –

+0

Relacionado: [¿Realmente necesito codificar como amplificador?] (Http://stackoverflow.com/questions/3493405/do-i-really-need-to-encode-as-amp) – cspray

+0

¿Puedes dar un contexto? ¿Esto es una acción de forma? ¿Solo se muestra en una página? – jprofitt

Respuesta

58

& es HTML para "Comienzo de una referencia de carácter".

& es la referencia de carácter para "Un signo de unión".

&current; no es una referencia de caracteres estándar, por lo que es un error (los navegadores pueden intentar realizar la recuperación de errores pero no debe depender de esto).

Si usó una referencia de personaje para un personaje real (por ejemplo, ™), aparecerá (™) en la URL en lugar de la cadena que desea.

(Tenga en cuenta que dependiendo de la versión de HTML que utilice, puede que tenga que poner fin a una referencia de carácter con un ;, por lo que &trade= serán tratados como ™. HTML 4 permite que se omite, si el siguiente carácter es un carácter sin palabras (como =) pero algunos navegadores (Hello Internet Explorer) tienen problemas con esto).

1

Mi Fuente: http://htmlhelp.com/tools/validator/problems.html#amp

Se produce otro error común al incluir una URL que contiene un ampersand ("&"):

Esto es válido:

a href = "foo.cgi capítulo = 1 = 2 & sección & copia = 3 & lang = es?"

Explicación:

Este ejemplo genera un error para "sección de entidad desconocida" porque es "&" comenzó a comenzar una referencia de entidad. Los navegadores a menudo se recuperan de forma segura de este tipo de error, pero en realidad ocurren problemas reales en . En este ejemplo, muchos navegadores convierten correctamente & copy = 3 en © = 3, lo que puede hacer que el enlace falle. Dado que ⟨ es la entidad HTML para el ángulo de la izquierda, algunos navegadores también convierten & lang = en en <= en. Y un navegador antiguo incluso encuentra la entidad §, convirtiendo & sección = 2 en §ion = 2.

El objetivo aquí es evitar problemas cuando intenta validar su sitio web. Por lo tanto, debe reemplazar sus símbolos con &amp; al escribir una URL en su marcado.

Nota que la sustitución de & con &amp; solo se hace al escribir la URL en HTML, donde "&" es un carácter especial (junto con "<" y ">"). Cuando escriba la misma URL en un mensaje de texto sin formato o en la barra de ubicación de su navegador, usaría "&" y no "&amp;". Con HTML, el navegador traduce "&amp;" a "&", por lo que el servidor web solo verá "&" y no "&amp;" en la cadena de consulta de la solicitud.

Esperanza esto ayuda:)

Cuestiones relacionadas