Técnicamente, un punto y coma es un sub-delimitador legal en una cadena de URL; un montón de material de origen se cita más arriba, incluido http://www.ietf.org/rfc/rfc3986.txt.
Y algunos lo usan con fines legítimos, aunque su uso es probable que sea específico del sitio (es decir, solo para usar con ese sitio) porque su uso debe ser definido por el sitio que lo usa.
En el mundo real, sin embargo, el uso principal de los puntos y comas en las URL es ocultar un virus o una URL de suplantación de identidad detrás de una URL legítima.
Por ejemplo, enviar a alguien un correo electrónico con este enlace:
http: // www.yahoo.com/junk/nonsense;0200.0xfe.0x37.0xbf/malicious_file/
dará lugar a la Yahoo! se ignora el enlace (www.yahoo.com/junk/nonsense) porque, aunque es legítimo (es decir, está formado correctamente), no existe dicha página. Pero el segundo enlace (0200.0xfe.0x37.0xbf/malicious_file /) presumiblemente existe * y el usuario será dirigido a la página de archivo malicioso; con lo cual el gerente de TI corporativo recibirá un informe y es probable que obtenga un recibo de color rosa.
Y antes de que todos los que no dicen se desanimen, así es exactamente como funciona el nuevo problema de phishing de Facebook. Los nombres han sido cambiados para proteger a los culpables como de costumbre.
* No existe tal página en realidad, que yo sepa. El enlace que se muestra es solo para fines de esta discusión.
"no se puede utilizar sin codificar": ... para un propósito que no sea su significado especial. La respuesta correcta a la pregunta es "Sí, es legal tener un punto y coma en una URL", pero la impresión que obtengo de esta respuesta (no la cita de la especificación, sino el resumen) es "No, un punto y coma no codificado no puede ser utilizado en una URL ". – Miles
@Miles editado para aclarar – Greg
Llego tarde a la fiesta, pero este código trata explícitamente de las URL http/https, lo que permite; como el separador de cadenas de consulta (en lugar de &) ... en realidad, Ben ya lo cubrió. – Powerlord