Page semi-protected
De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Un localizador uniforme de recursos ( URL ), denominado coloquialmente una dirección web , [1] es una referencia a un recurso web 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 ocurren con mayor frecuencia para hacer referencia a páginas web ( http ), 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 encima de la página en una barra de direcciones . Una URL típica podría tener la forma 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

Ejemplo simple del localizador uniforme de recursos

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 el IETF Living Documents sesión de aves de una pluma en 1992. [8] [9] 

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 directorios y nombres de archivos . Ya existían convenciones en las que los nombres de servidor podían tener un prefijo para completar rutas de archivo, precedidos por una barra doble ( //). [10]

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

Un primer borrador (1993) de la Especificación HTML [12] se refería a localizadores de recursos "universales". Esto se eliminó en algún momento entre junio de 1994 ( RFC  1630 ) y octubre de 1994 (draft-ietf-uri-url-08.txt). [13]

Sintaxis

Cada URL HTTP se ajusta a la sintaxis de un URI genérico. La sintaxis genérica de URI consta de una secuencia jerárquica de cinco componentes : [14]

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

donde el componente de autoridad se divide en tres subcomponentes :

autoridad = [userinfo @] host [: puerto]

Esto se representa en un diagrama de sintaxis como:

El URI comprende:

  • Un componente de esquema no vacío seguido de dos puntos ( :), que consta de una secuencia de caracteres que comienza con una letra y seguida 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 en minúsculas y los documentos que especifican esquemas deben hacerlo con letras minúsculas. Ejemplos de esquemas populares incluyen http, https, ftp, mailto, file, data, y irc. Los esquemas de URI deben registrarse en la Autoridad de Números Asignados de Internet (IANA) , aunque en la práctica se utilizan esquemas no registrados. [B]
  • Un componente de autoridad opcional precedido por dos barras diagonales ( //), que comprende:
    • Un subcomponente de información de usuario opcional que puede constar de un nombre de usuario y una contraseña opcional precedidos por dos puntos ( ), seguidos de un símbolo arroba ( ). El uso del formato en el subcomponente userinfo está en desuso por razones de seguridad. Las aplicaciones no deben mostrar como texto claro ningún dato después de los primeros dos puntos ( ) que se encuentran dentro de un subcomponente de información de usuario a menos que los datos después de los dos puntos sean la cadena vacía (que indica que no hay contraseña).:@username:password:
    • Un subcomponente de host , que consta de un nombre registrado (que incluye, entre otros, un nombre de host ) o una dirección IP . Las direcciones IPv4 deben estar en notación decimal con puntos y las direcciones IPv6 deben estar entre corchetes ( []). [16] [c]
    • Un subcomponente de puerto opcional precedido por dos puntos ( :).
  • Un componente de ruta , que consta de 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 diagonales consecutivas ( //) en el componente de ruta. Un componente de ruta puede parecerse o correlacionarse exactamente con una ruta del sistema de archivos , pero no siempre implica una relación con uno. Si hay un componente de autoridad, entonces el componente de ruta debe estar vacío o comenzar con una barra inclinada ( /). Si un componente de autoridad está ausente, 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. [18]El segmento final de la ruta puede denominarse " slug ".
  • Un componente de consulta opcional precedido por un signo de interrogación ( ?), que contiene una cadena de consulta de datos no jerárquicos. Su sintaxis no está bien definida, pero por convención suele ser una secuencia de pares atributo-valor separados por un delimitador .
  • Un componente de fragmento opcional precedido por un hash ( #). El fragmento contiene un identificador de fragmento que proporciona 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 un documento HTML , el fragmento suele ser un idatributo de un elemento específico, y los navegadores web desplazarán este elemento a la vista.

Un navegador web normalmente eliminará la referencia a una URL realizando una solicitud HTTP al host especificado, de forma predeterminada 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

Internet users are distributed throughout the world using a wide variety of languages and alphabets and expect to be able to create URLs in their own local alphabets. An Internationalized Resource Identifier (IRI) is a form of URL that includes Unicode characters. All modern browsers support IRIs. The parts of the URL requiring special treatment for different alphabets are the domain name and path.[20][21]

The domain name in the IRI is known as an Internationalized Domain Name (IDN). Web and Internet software automatically convert the domain name into punycode usable by the Domain Name System; for example, the Chinese URL http://例子.卷筒纸 becomes http://xn--fsqu00a.xn--3lr804guic/. The xn-- indicates that the character was not originally ASCII.[22]

The URL path name can also be specified by the user in the local writing system. If not already encoded, it is converted to UTF-8, and any characters not part of the basic URL character set are escaped as hexadecimal using percent-encoding; for example, the Japanese URL http://example.com/引き割り.html becomes http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html. The target computer decodes the address and displays the page.[20]

Protocol-relative URLs

Protocol-relative links (PRL), also known as protocol-relative URLs (PRURL), are URLs that have no protocol specified. For example, //example.com will use the protocol of the current page, typically HTTP or HTTPS.[23][24]

See also

  • Hyperlink
  • PURL – Persistent URL
  • CURIE (Compact URI)
  • Fragment identifier
  • Internet Resource Locator (IRL)
  • Internationalized resource identifier (IRI)
  • Semantic URL
  • Typosquatting
  • Uniform Resource Identifier
  • URL normalization
  • Use of slashes in networking

Notes

  1. ^ A URL implies the means to access an indicated resource and is denoted by a protocol or an access mechanism, which is not true of every URI.[5][4] Thus http://www.example.com is a URL, while www.example.com is not.[6]
  2. ^ The procedures for registering new URI schemes were originally defined in 1999 by RFC 2717, and are now defined by RFC 7595, published in June 2015.[15]
  3. ^ For URIs relating to resources on the World Wide Web, some web browsers allow .0 portions of dot-decimal notation to be dropped or raw integer IP addresses to be used.[17]
  4. ^ Historic RFC 1866 (obsoleted by RFC 2854) encourages CGI authors to support ';' in addition to '&'.[19]

Citations

  1. ^ W3C (2009).
  2. ^ "Forward and Backslashes in URLs". zzz.buzz. Retrieved 2018-09-19.
  3. ^ RFC 3986 (2005).
  4. ^ a b Joint W3C/IETF URI Planning Interest Group (2002).
  5. ^ RFC 2396 (1998).
  6. ^ Miessler, Daniel. "The Difference Between URLs and URIs".
  7. ^ W3C (1994).
  8. ^ IETF (1992).
  9. ^ Berners-Lee (1994).
  10. ^ a b Berners-Lee (2000).
  11. ^ BBC News (2009).
  12. ^ Berners-Lee, Tim; Connolly, Daniel "Dan" (March 1993). Hypertext Markup Language (draft RFCxxx) (Technical report). p. 28.
  13. ^ Berners-Lee, Tim; Masinter, Larry; McCahill, Mark Perry (October 1994). Uniform Resource Locators (URL) (Technical report). cited in Ang, C. S.; Martin, D. C. (January 1995). Constituent Component Interface++ (Technical report). UCSF Library and Center for Knowledge Management.
  14. ^ RFC 3986, section 3 (2005).
  15. ^ IETF (2015).
  16. ^ RFC 3986 (2005), §3.2.2.
  17. ^ Lawrence (2014).
  18. ^ RFC 2396 (1998), §3.3.
  19. ^ RFC 1866 (1995), §8.2.1.
  20. ^ a b W3C (2008).
  21. ^ W3C (2014).
  22. ^ IANA (2003).
  23. ^ Glaser, J. D. (2013). Secure Development for Mobile Apps: How to Design and Code Secure Mobile Applications with PHP and JavaScript. CRC Press. p. 193. ISBN 978-1-48220903-7. Retrieved 2015-10-12.
  24. ^ Schafer, Steven M. (2011). HTML, XHTML, and CSS Bible. John Wiley & Sons. p. 124. ISBN 978-1-11808130-3. Retrieved 2015-10-12.

References

  • "Berners-Lee "sorry" for slashes". BBC News. 2009-10-14. Retrieved 2010-02-14.
  • "Living Documents BoF Minutes". World Wide Web Consortium. 1992-03-18. Retrieved 2011-12-26.
  • Berners-Lee, Tim (1994-03-21). "Uniform Resource Locators (URL): A Syntax for the Expression of Access Information of Objects on the Network". World Wide Web Consortium. Retrieved 2015-09-13.
  • Berners-Lee, Tim; Masinter, Larry; McCahill, Mark Perry (August 1998). Uniform Resource Locators (URL). doi:10.17487/RFC1738. RFC 1738. Retrieved 2015-08-31.
  • Berners-Lee, Tim (2015) [2000]. "Why the //, #, etc?". Frequently asked questions. World Wide Web Consortium. Retrieved 2010-02-03.
  • Connolly, Daniel "Dan"; Sperberg-McQueen, C. Michael, eds. (2009-05-21). "Web addresses in HTML 5". World Wide Web Consortium. Retrieved 2015-09-13.
  • Internet Assigned Numbers Authority (2003-02-14). "Completion of IANA Selection of IDNA Prefix". IETF-Announce mailing list. Archived from the original on 2004-12-08. Retrieved 2015-09-03.
  • Berners-Lee, Tim; Fielding, Roy T.; Masinter, Larry (August 1998). Uniform Resource Identifiers (URI): Generic Syntax. doi:10.17487/RFC2396. RFC 2396. Retrieved 2015-08-31.
  • Hansen, Tony; Hardie, Ted (June 2015). Thaler, Dave (ed.). Guidelines and Registration Procedures for URI Schemes. doi:10.17487/RFC7595. RFC 7595.
  • Mealling, Michael; Denenberg, Ray, eds. (August 2002). Report from the Joint W3C/IETF URI Planning Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications and Recommendations. doi:10.17487/RFC3305. RFC 3305. Retrieved 2015-09-13.
  • Berners-Lee, Tim; Fielding, Roy T.; Masinter, Larry (January 2005). Uniform Resource Identifiers (URI): Generic Syntax. doi:10.17487/RFC3986. RFC 3986. Retrieved 2015-08-31.
  • "An Introduction to Multilingual Web Addresses". 2008-05-09. Retrieved 2015-01-11.
  • Phillip, A. (2014). "What is Happening with "International URLs"". World Wide Web Consortium. Retrieved 2015-01-11.
  • Lawrence, Eric. "Browser Arcana: IP Literals in URLs". docs.microsoft.com. Archived from the original on 2020-06-22. Retrieved 2020-06-22.

External links

  • URL specification at WHATWG
  • The Components of a URL from IBM