URL

Dirección web de un archivo o página en particular

URL
Localizador uniforme de recursos
AbreviaturaURL
EstadoPublicado
Primera publicación1994 ; hace 30 años ( 1994 )
Última versiónNivel de vida
2023
OrganizaciónGrupo de trabajo de ingeniería de Internet (IETF)
ComitéGrupo de trabajo sobre tecnología de aplicaciones de hipertexto web (WHATWG)
SerieSolicitud de comentarios (RFC)
EditoresAnne van Kesteren
AutoresTim Berners-Lee
Normas básicas
  • RFC  1738. – Localizadores uniformes de recursos (URL).
  • RFC  3986. – Identificador uniforme de recursos (URI): sintaxis genérica.
  • RFC  4248. – El esquema URI de Telnet.
  • RFC  4266. – El esquema URI gopher.
  • RFC  6068. – El esquema URI 'mailto'.
  • RFC  6196. – Mover el servidor de correo: esquema URI a histórico.
  • RFC  6270. – El esquema URI 'tn3270'.
Normas relacionadasURI , URN
DominioWorld Wide Web
LicenciaCC BY 4.0
Sitio weburl.spec.whatwg.org

Un localizador uniforme de recursos ( URL ), conocido coloquialmente como una dirección en la Web , [1] es una referencia a un recurso que especifica su ubicación en una red informática y un mecanismo para recuperarlo. Una URL es un tipo específico de Identificador uniforme de recursos (URI), [2] [3] aunque muchas personas usan los dos términos indistintamente. [4] [a] Las URL se utilizan con mayor frecuencia para hacer referencia a páginas web ( HTTP / HTTPS ), pero también se utilizan para transferencia de archivos ( FTP ), correo electrónico ( mailto ), acceso a bases de datos ( JDBC ) y muchas otras aplicaciones.

La mayoría de los navegadores web muestran la URL de una página web sobre la página en una barra de direcciones . Una URL típica podría tener el formato http://www.example.com/index.html, que indica un protocolo ( http), un nombre de host ( www.example.com) y un nombre de archivo ( index.html).

Historia

Los localizadores uniformes de recursos fueron definidos en RFC  1738 en 1994 por Tim Berners-Lee , el inventor de la World Wide Web , y el grupo de trabajo URI del Grupo de trabajo de ingeniería de Internet (IETF), [7] como resultado de la colaboración iniciada en la sesión de los documentos vivos del IETF en 1992. [7] [8]

El formato combina el sistema preexistente de nombres de dominio (creado en 1985) con la sintaxis de ruta de archivo , donde se utilizan barras para separar los nombres de directorio y de archivo// . Ya existían convenciones en las que los nombres de servidor podían ir precedidos de una doble barra ( ) para completar las rutas de archivo . [9]

Berners-Lee luego expresó su pesar por el uso de puntos para separar las partes del nombre de dominio dentro de los URI , deseando haber usado barras en todo el texto, [9] y también dijo que, dados los dos puntos que siguen al primer componente de un URI, las dos barras antes del nombre de dominio eran innecesarias. [10]

Los primeros colaboradores de la WorldWideWeb, entre ellos Berners-Lee, propusieron originalmente el uso de UDIs: Universal Document Identifiers (Identificadores Universales de Documentos). Un borrador temprano (1993) de la Especificación HTML [11] hacía referencia a los Localizadores de Recursos "Universales". Esto se abandonó en algún momento entre junio de 1994 ( RFC 1630) y octubre de 1994 (draft-ietf-uri-url-08.txt). [12] En su libro Weaving the Web (Tejiendo la Web) , Berners-Lee enfatiza su preferencia por la inclusión original de "universal" en la expansión en lugar de la palabra "uniforme", por la que se cambió más tarde, y da un breve relato de la controversia que llevó al cambio.

Sintaxis

Cada URL HTTP se ajusta a la sintaxis de un URI genérico. La sintaxis genérica del URI consta de cinco componentes organizados jerárquicamente en orden de importancia decreciente de izquierda a derecha: [13] : §3 

URI = esquema ":" ["//" autoridad] ruta ["?" consulta] ["#" fragmento]

Un componente no está definido si tiene un delimitador asociado y el delimitador no aparece en la URI; los componentes de esquema y ruta siempre están definidos. [13] : §5.2.1  Un componente está vacío si no tiene caracteres; el componente de esquema siempre no está vacío. [13] : §3 

El componente de autoridad consta de subcomponentes :

autoridad = [información de usuario "@"] host [": "puerto]

Esto se representa en un diagrama de sintaxis como:

Diagrama de sintaxis de URI

La URI comprende:

  • Un no vacíocomponente de esquema seguido de dos puntos (:), que consiste en una secuencia de caracteres que comienza con una letra y sigue de cualquier combinación de letras, dígitos, más (+), punto (.) o guión (-). Aunque los esquemas no distinguen entre mayúsculas y minúsculas, la forma canónica es minúscula y los documentos que especifican esquemas deben hacerlo con letras minúsculas. Algunos ejemplos de esquemas populares sonhttp,https,ftp,mailto,file,datayirc. Los esquemas URI deben estar registrados en laAutoridad de Números Asignados de Internet (IANA), aunque en la práctica se utilizan esquemas no registrados.[b]
  • Un opcionalcomponente de autoridad precedido de dos barras (//), que comprende:
    • Un opcionalSubcomponente userinfo seguido de un símbolo arroba (@), que puede consistir en unnombre de usuarioy unacontraseñaprecedida por dos puntos (:). El uso del formatousername:passworden el subcomponente userinfo está en desuso por razones de seguridad. Las aplicaciones no deben representar como texto sin formato ningún dato después de los primeros dos puntos (:) que se encuentre dentro de un subcomponente userinfo a menos que los datos después de los dos puntos sean una cadena vacía (que indica que no hay contraseña).
    • Asubcomponente de host , que consiste en un nombre registrado (incluido, entre otros, unnombre de host) o unadirección IP.IPv4deben estar ennotación decimal con puntoyIPv6deben estar entre corchetes ([]).[13] : §3.2.2  [c]
    • Un opcionalsubcomponente de puerto precedido por dos puntos (:), que consta de dígitos decimales.
  • Acomponente de ruta/ , que consiste en una secuencia de segmentos de ruta separados por una barra ( ). Siempre se define una ruta para un URI, aunque la ruta definida puede estar vacía (longitud cero). Un segmento también puede estar vacío, lo que da como resultado dos barras consecutivas (//) en el componente de ruta. Un componente de ruta puede parecerse o mapearse exactamente a unaruta del sistema de archivos, pero no siempre implica una relación con una. Si se define un componente de autoridad, entonces el componente de ruta debe estar vacío o comenzar con una barra (/). Si un componente de autoridad no está definido, entonces la ruta no puede comenzar con un segmento vacío, es decir, con dos barras (//), ya que los siguientes caracteres se interpretarían como un componente de autoridad.[16] : §3.3 
Por convención, en las URI http y https , la última parte de una ruta se denominapathinfo y es opcional. Está compuesto por cero o más segmentos de ruta que no hacen referencia a un nombre de recurso físico existente (por ejemplo, un archivo, un programa de módulo interno o un programa ejecutable) sino a una parte lógica (por ejemplo, un comando o una parte calificadora) que debe pasarse por separado a la primera parte de la ruta que identifica un módulo ejecutable o un programa administrado por unservidor web; esto se usa a menudo para seleccionar contenido dinámico (un documento, etc.) o para adaptarlo según lo solicitado (ver también:CGIy PATH_INFO, etc.).
Ejemplo:
Dirección URL:"http://www.example.com/questions/3456/my-document"
donde: "/questions"es la primera parte de la ruta (un módulo o programa ejecutable) y "/3456/my-document"es la segunda parte de la ruta llamada pathinfo , que se pasa al módulo o programa ejecutable llamado "/questions"para seleccionar el documento solicitado.
Una URI http o https que contiene una parte de información de ruta sin una parte de consulta también puede denominarse " URL limpia ", cuya última parte puede ser un " slug ".
Delimitador de consultaEjemplo
Y comercial ( &)key1=value1&key2=value2
Punto y coma ( ;) [d]key1=value1;key2=value2
  • Un opcionalComponente de consulta? precedido por un signo de interrogación ( ), que consiste en unacadena de consultade datos no jerárquicos. Su sintaxis no está bien definida, pero por convención suele ser una secuencia depares atributo-valorseparados por undelimitador.
  • Un opcionalComponente de fragmento precedido por un símbolo hash(#). El fragmento contiene unidentificador de fragmentoque proporciona la dirección a un recurso secundario, como un encabezado de sección en un artículo identificado por el resto del URI. Cuando el recurso principal es unHTML, el fragmento suele ser unidatributode un elemento específico y los navegadores web desplazarán este elemento para mostrarlo.

Un navegador web generalmente desreferenciará una URL realizando una solicitud HTTP al host especificado, por defecto en el puerto número 80. Las URL que utilizan el httpsesquema requieren que las solicitudes y respuestas se realicen a través de una conexión segura al sitio web .

URL internacionalizada

Los usuarios de Internet están distribuidos por todo el mundo y utilizan una amplia variedad de idiomas y alfabetos, y esperan poder crear URL en sus propios alfabetos locales. Un identificador de recursos internacionalizado (IRI) es una forma de URL que incluye caracteres Unicode . Todos los navegadores modernos admiten IRI. Las partes de la URL que requieren un tratamiento especial para diferentes alfabetos son el nombre de dominio y la ruta. [18] [19]

El nombre de dominio en el IRI se conoce como Nombre de Dominio Internacionalizado (IDN). El software de Internet y la Web convierte automáticamente el nombre de dominio en un código puny que puede utilizar el Sistema de Nombres de Dominio ; por ejemplo, la URL china http://例子.卷筒纸se convierte en http://xn--fsqu00a.xn--3lr804guic/. Esto xn--indica que el carácter no era originalmente ASCII . [20]

El nombre de la ruta URL también puede ser especificado por el usuario en el sistema de escritura local. Si no está codificado, se convierte a UTF-8 y cualquier carácter que no forme parte del conjunto de caracteres URL básico se escapa como hexadecimal utilizando percent-encoding ; por ejemplo, la URL japonesa http://example.com/引き割り.htmlse convierte en http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html. El equipo de destino decodifica la dirección y muestra la página. [18]

URL relativas al protocolo

Los enlaces relativos al protocolo (PRL), también conocidos como URL relativas al protocolo (PRURL), son URL que no tienen un protocolo especificado. Por ejemplo, //example.comutilizará el protocolo de la página actual, normalmente HTTP o HTTPS. [21] [22]

Véase también

Notas

  1. ^ Una URL implica el medio para acceder a un recurso indicado y se denota por un protocolo o un mecanismo de acceso, lo que no es cierto para cada URI. [5] [4] Por lo tanto http://www.example.com, es una URL, mientras que www.example.comno lo es. [6]
  2. ^ Los procedimientos para registrar nuevos esquemas URI se definieron originalmente en 1999 mediante RFC  2717, y ahora están definidos por RFC 7595, publicado en junio de 2015. [14]
  3. ^ Para las URI relacionadas con recursos en la World Wide Web, algunos navegadores web permiten .0eliminar partes de la notación decimal con punto o utilizar direcciones IP enteras sin formato. [15]
  4. ^ El histórico RFC  1866 (obsoleto por el RFC 2854) alienta a los autores de CGI a admitir ';' además de '&'. [17] : §8.2.1 

Citas

  1. ^ Congreso Internacional de las Naciones Unidas (2009).
  2. ^ "Barras diagonales y diagonales inversas en las URL". zzz.buzz . Archivado desde el original el 4 de septiembre de 2018 . Consultado el 19 de septiembre de 2018 .
  3. ^ RFC 3986 (2005).
  4. ^ ab Grupo de interés conjunto de planificación de URI W3C/IETF (2002).
  5. ^ RFC 2396 (1998).
  6. ^ Miessler, Daniel. «La diferencia entre URL y URI». Archivado desde el original el 17 de marzo de 2017. Consultado el 16 de marzo de 2017 .
  7. ^ desde W3C (1994).
  8. ^ IETF (1992).
  9. ^ por Berners-Lee (2015).
  10. ^ Noticias de la BBC (2009).
  11. ^ Berners-Lee, Tim ; Connolly, Daniel "Dan" (marzo de 1993). Hypertext Markup Language (borrador RFCxxx) (informe técnico). p. 28. Archivado desde el original el 23 de octubre de 2017 . Consultado el 23 de octubre de 2017 .
  12. ^ Berners-Lee, Tim ; Masinter, Larry ; McCahill, Mark Perry (octubre de 1994). Localizadores uniformes de recursos (URL) (informe técnico).(Este borrador de Internet se publicó como propuesta de estándar RFC, RFC 1738 (1994)) Citado en Ang, CS; Martin, DC (enero de 1995). Constituent Component Interface++ (informe técnico). Biblioteca y Centro de Gestión del Conocimiento de la UCSF. Archivado desde el original el 23 de octubre de 2017. Consultado el 23 de octubre de 2017 .
  13. ^ abcd T. Berners-Lee ; R. Fielding ; L. Masinter (enero de 2005). Identificador uniforme de recursos (URI): sintaxis genérica. Grupo de trabajo en red. doi : 10.17487/RFC3986 . STD 66. RFC 3986. Estándar de Internet 66. Deja obsoletos los RFC 2732, 2396 y 1808. Actualizado por los RFC 6874, 7320 y 8820. Actualiza el RFC 1738.
  14. ^ Hansen, Tony; Hardie, Ted (junio de 2015). Thaler, Dave (ed.). Pautas y procedimientos de registro para esquemas URI. Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC7595 . ISSN  2070-1721. BCP 35. RFC 7595. Mejores prácticas actuales. Actualizado por RFC 8615. Obsoleto RFC 4395.
  15. ^ Lorenzo (2014).
  16. ^ T. Berners-Lee ; R. Fielding ; L. Masinter (agosto de 1998). Identificadores uniformes de recursos (URI): sintaxis genérica. Grupo de trabajo en red. doi : 10.17487/RFC2396 . RFC 2396. Obsoleto. Quedó obsoleto según RFC 3986. Actualizado según RFC 2732. Actualizaciones de RFC 1808 y 1738.
  17. ^ Berners-Lee, Tim ; Connolly, Daniel W. (noviembre de 1995). Lenguaje de marcado de hipertexto - 2.0. Grupo de trabajo de redes. doi : 10.17487/RFC1866 . RFC 1866. Histórico. Obsoleto por RFC 2854.
  18. ^ desde W3C (2008).
  19. ^ W3C (2014).
  20. ^ Autoridad de Administración Nacional de Aviación Civil (IANA) (2003).
  21. ^ Glaser, JD (10 de marzo de 2014). Desarrollo seguro para aplicaciones móviles: cómo diseñar y codificar aplicaciones móviles seguras con PHP y JavaScript (1.ª ed.). CRC Press . p. 193. ISBN 978-1-48220903-7. Recuperado el 12 de octubre de 2015 .
  22. ^ Schafer, Steven M. (2011). Biblia de HTML, XHTML y CSS (1.ª ed.). John Wiley & Sons . pág. 124. ISBN 978-1-11808130-3. Recuperado el 12 de octubre de 2015 .

Referencias

  • "Berners-Lee se disculpa por las barras". BBC News . 2009-10-14. Archivado desde el original el 2020-06-05 . Consultado el 2010-02-14 .
  • "Living Documents BoF Minutes". Consorcio World Wide Web . 18 de marzo de 1992. Archivado desde el original el 22 de noviembre de 2012. Consultado el 26 de diciembre de 2011 .
  • Berners-Lee, Tim (21 de marzo de 1994). "Localizadores uniformes de recursos (URL): una sintaxis para la expresión de información de acceso de objetos en la red". Consorcio World Wide Web . Archivado desde el original el 9 de septiembre de 2015. Consultado el 13 de septiembre de 2015 .
  • Berners-Lee, Tim ; Masinter, Larry ; McCahill, Mark Perry (diciembre de 1994). Localizadores uniformes de recursos (URL). doi : 10.17487/RFC1738 . RFC 1738 . Consultado el 31 de agosto de 2015 .
  • Berners-Lee, Tim (2015) [2000]. "¿Por qué //, #, etc?". Preguntas frecuentes . Consorcio World Wide Web . Archivado desde el original el 2020-05-14 . Consultado el 2010-02-03 .
  • Connolly, Daniel "Dan" ; Sperberg-McQueen, C. Michael , eds. (2009-05-21). "Direcciones web en HTML 5". Consorcio World Wide Web . Archivado desde el original el 2015-07-10 . Consultado el 2015-09-13 .
  • IANA (14 de febrero de 2003). «Finalización de la selección del prefijo IDNA por parte de la IANA». Lista de correo IETF-Announce . Archivado desde el original el 8 de diciembre de 2004. Consultado el 3 de septiembre de 2015 .
  • Berners-Lee, Tim ; Connolly, Daniel "Dan" (noviembre de 1995). "Hypertext Markup Language – 2.0". IETF Datatracker . Grupo de trabajo de ingeniería de Internet . sec. 8.2.1. doi : 10.17487/RFC1866 . S2CID  6628570. RFC 1866 . Consultado el 13 de septiembre de 2015 .
  • Berners-Lee, Tim ; Fielding, Roy T. ; Masinter, Larry (agosto de 1998). Identificadores uniformes de recursos (URI): sintaxis genérica. doi : 10.17487/RFC2396 . RFC 2396 . Consultado el 31 de agosto de 2015 .
  • Hansen, Tony; Hardie, Ted (junio de 2015). Thaler, Dave (ed.). Pautas y procedimientos de registro para esquemas URI. doi : 10.17487/RFC7595 . RFC 7595.
  • Mealling, Michael ; Denenberg, Ray, eds. (agosto de 2002). Informe del Grupo de interés de planificación de URI conjunto W3C/IETF: Identificadores uniformes de recursos (URI), URL y nombres uniformes de recursos (URN): aclaraciones y recomendaciones. doi : 10.17487/RFC3305 . RFC 3305 . Consultado el 13 de septiembre de 2015 .
  • Berners-Lee, Tim ; Fielding, Roy T. ; Masinter, Larry (enero de 2005). Identificadores uniformes de recursos (URI): sintaxis genérica. doi : 10.17487/RFC3986 . RFC 3986 . Consultado el 31 de agosto de 2015 .
  • Berners-Lee, Tim ; Fielding, Roy T. ; Masinter, Larry (enero de 2005). "Componentes de sintaxis". Identificadores uniformes de recursos (URI): sintaxis genérica. sec. 3. doi : 10.17487/RFC3986 . RFC 3986 . Consultado el 31 de agosto de 2015 .
  • "Introducción a las direcciones web multilingües". 9 de mayo de 2008. Archivado desde el original el 5 de enero de 2015. Consultado el 11 de enero de 2015 .
  • Phillip, A. (2014). «What is Happening with "International URLs"» (Qué está pasando con las «URL internacionales»). World Wide Web Consortium . Archivado desde el original el 17 de febrero de 2015. Consultado el 11 de enero de 2015 .
  • Lawrence, Eric (6 de marzo de 2014). "Arcanos del navegador: literales de IP en las URL". Microsoft Learn . Archivado desde el original el 22 de junio de 2020 . Consultado el 22 de junio de 2020 .
  • Especificación de URL en WHATWG
  • Divisor de URL que divide cualquier URI en sus partes
Obtenido de "https://es.wikipedia.org/w/index.php?title=URL&oldid=1230124093"