¿Es seguro utilizar un @símbolo como parte de un usuario? Por ejemplo, una posible URL sería http://example.com/@dave.
La idea es que, hoy en día, los usuarios se denominan comúnmente "@user", así que ¿por qué no hacer que la página de usuario sea "@username"?

Respuestas:
Codificado por porcentaje ...
Puede utilizar el
@carácter en las rutas HTTP URI si lo codifica porcentualmente como%40.Muchos navegadores lo mostrarían todavía como
@, pero por ejemplo, cuando copie y pegue el URI en un documento de texto, lo será%40.... pero también directamente
En lugar de codificarlo en porcentaje, puede usarlo
@directamente en la ruta HTTP URI.Consulte la sintaxis de la ruta de un URI. Varios cláusulas no relacionadas a un lado, el camino pueden consistir de caracteres en el
segment,segment-nzosegment-nz-ncconjunto.segmentysegment-nzconstan de personajes delpcharconjunto, que se define como:Como puede ver,
@se enumera explícitamente.El
segment-nz-ncconjunto también enumera el@personaje explícitamente:Entonces, un URI HTTP como este es totalmente válido:
Ejemplo
Aquí hay un ejemplo de página de Wikipedia:
http://en.wikipedia.org/wiki/%22@%22_%28album%29Como se puede ver, las
",(y)los caracteres son codificados por ciento, pero el@y el_se utiliza directamente.fuente
@en las URL, pero las URL de perfil antiguas (?) Aún funcionan: ejemplo con porcentaje codificado@(¡ no funciona!) Vs. ejemplo usando@directamente (¿ trabajo!) .@en el caso de Twitter. Sus enlaces internos hacen referencia a la URL sin@embargo: twitter.com/@stackexchange@no es sin reservas . Por tanto, los consumidores no deben asumir eso%40y@son equivalentes.Many browsers would display it still as @, but e.g. when you copy-and-paste the URI into a text document, it will be %40.Eso no es cierto para Chrome.¿Puedes usar el símbolo @ en una URL? - ¡ Sí, puedes!
Tenga en cuenta que el carácter @, valor hexadecimal 40, valor decimal 64, es un carácter reservado para URI. Su uso es para cosas como direcciones de correo electrónico en
mailto:URI, por ejemplo,mailto:[email protected]y para pasar información de nombre de usuario y contraseña en un URI (lo cual es una mala idea, pero posible):http://username:[email protected]Si desea una URL que tenga un símbolo @ en una ruta, debe codificarla, con la denominada " codificación de URL ". Por ejemplo así:
http://somewhere.foo/profile/username%40somewhere.fooTodos los navegadores modernos mostrarán esto como http://somewhere.foo/profile/[email protected] , y convertirán cualquier escrito en @ -sign a
%40, por lo que es fácil de usar.Muchos marcos web también lo ayudarán, ya sea automáticamente, o con funciones auxiliares, a convertir hacia y desde URL codificadas en URL.
Entonces, en resumen: Sí, puede usar el símbolo @ en una URL, pero debe asegurarse de que esté codificado, ya que no puede usar el carácter @ .
fuente
@caracteres no "necesitan" codificarse en la parte de la ruta de una URL ( greenbytes.de/tech/webdav/rfc3986.html#path )En el RFC los siguientes caracteres:
están reservados y:
Por lo que no se recomienda utilizar estos caracteres sin codificar.
fuente
Básicamente no.
@es un carácter reservado y solo debe usarse para el propósito previsto.Ver: http://perishablepress.com/stop-using-unsafe-characters-in-urls/ y http://www.ietf.org/rfc/rfc3986.txt
Se puede usar codificado, pero no creo que sea eso lo que estabas preguntando.
Aparentemente, los navegadores modernos se encargarán de esto. Sin embargo, preguntó si esto era seguro y de acuerdo con las especificaciones del RFC , no debería usarlo (sin codificar) a menos que sea para el propósito previsto.
fuente