Diferencia entre revisiones de «Localizador de recursos uniforme»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Deshecha la edición 36984894 de 150.186.0.2 (disc.)
Línea 12: Línea 12:
El formato general de un URL es:
El formato general de un URL es:


:''esquema://máquina/directorio/archivo'
:''esquema://máquina/directorio/archivo''


También pueden añadirse otros datos:
También pueden añadirse otros datos:

Revisión del 01:03 13 may 2010

Un localizador uniforme de recursos, más comúnmente denominado URL (sigla en inglés de uniform resource locator), es una secuencia de caracteres, de acuerdo a un formato modélico y estándar, que se usa para nombrar recursos en Internet para su localización o identificación, como por ejemplo documentos textuales, imágenes, videos, presentaciones digitales, etc.

Los localizadores uniformes de recursos fueron una innovación fundamental en la historia de la Internet. Fueron usadas por primera vez por Tim Berners-Lee en 1991, para permitir a los autores de documentos establecer hiperenlaces en la World Wide Web. Desde 1994, en los estándares de la Internet, el concepto de URL ha sido incorporado dentro del más general de URI (uniform resource identifier, en español identificador uniforme de recurso), pero el término URL aún se utiliza ampliamente.

Aunque nunca fueron mencionadas como tal en ningún estándar, mucha gente cree que las iniciales URL significan universal resource locator (localizador universal de recursos). Esta interpretación puede ser debida al hecho de que, aunque la U en URL siempre ha significado "uniforme", la U de URI significó en un principio "universal", antes de la publicación del RFC 2396.

El URL es la cadena de caracteres con la cual se asigna una dirección única a cada uno de los recursos de información disponibles en la Internet. Existe un URL único para cada página de cada uno de los documentos de la World Wide Web, para todos los elementos de Gopher y todos los grupos de debate USENET, y así sucesivamente.

El URL de un recurso de información es su dirección en Internet, la cual permite que el navegador la encuentre y la muestre de forma adecuada. Por ello el URL combina el nombre del ordenador que proporciona la información, el directorio donde se encuentra, el nombre del archivo, y el protocolo a usar para recuperar los datos.

Definición

El formato general de un URL es:

esquema://máquina/directorio/archivo

También pueden añadirse otros datos:

esquema://usuario:contraseña@máquina:puerto/directorio/archivo

Por ejemplo: http://es.Wikipedia.org/

La especificación detallada se encuentra en la RFC 1738, titulada Uniform Resource Locators.

Esquema URL

Un URL se clasifica por su esquema, que generalmente indica el protocolo de red que se usa para recuperar, a través de la red, la información del recurso identificado. Un URL comienza con el nombre de su esquema, seguida por dos puntos, seguido por una parte específica del esquema'.

Algunos ejemplos de esquemas URL:

Algunos de los esquemas URL, como los populares "mailto", "http", "ftp", y "file", junto a los de sintaxis general URL, se detallaron por primera vez en 1994, en el Request for Comments RFC 1630, sustituido un año después por los más específicos RFC 1738 y RFC 1808.

Algunos de los esquemas definidos en el primer RFC aún son válidos, mientras que otros son debatidos o han sido refinados por estándares posteriores. Mientras tanto, la definición de la sintaxis general de los URL se ha escindido en dos líneas separadas de especificación de URI: RFC 2396 (1998) y RFC 2732 (1999), ambos ya obsoletos pero todavía ampliamente referidos en las definiciones de esquemas URL.

El estándar actual es STD 66 / RFC 3986 (2005).

Sintaxis genérica URL

Todos los URL, independientemente del esquema, deben seguir una sintaxis general. Cada esquema puede determinar sus propios requisitos de sintaxis para su parte específica, pero el URL completo debe seguir la sintaxis general.

Usando un conjunto limitado de caracteres, compatible con el subconjunto imprimible de ASCII, la sintaxis genérica permite a los URL representar la dirección de un recurso, independientemente de la forma original de los componentes de la dirección.

Los esquemas que usan protocolos típicos basados en conexión usan una sintaxis común para "URI genéricos", definida a continuación:

esquema://autoridad/ruta?consulta#fragmento

La autoridad consiste usualmente en el nombre o Dirección IP de un servidor, seguido a veces de dos puntos (":") y un número de Puerto TCP. También puede incluir un nombre de usuario y una clave, para autenticarse ante el servidor.

La ruta es la especificación de una ubicación en alguna estructura jerárquica, usando una barra diagonal ("/") como delimitador entre componentes.

La consulta habitualmente indica parámetros de una consulta dinámica a alguna base de datos o proceso residente en el servidor.

El fragmento identifica a una porción de un recurso, habitualmente una ubicación en un documento.

Ejemplo: URL en HTTP

Los URL empleados por HTTP, el protocolo usado para transmitir páginas web, es el tipo más popular de URL y puede ser usado para mostrarse como ejemplo. La sintaxis de un URL HTTP es:

esquema://anfitrión:puerto/ruta?parámetro=valor#enlace
  • esquema, en el caso de HTTP, en la mayoría de las veces equivale a http, pero también puede ser https cuando se trata de HTTP sobre una conexión TLS (para hacer más segura la conexión).
  • Muchos navegadores web permiten el uso de esquema://usuario:contraseña@anfitrión:puerto/... para autenticación en HTTP. Este formato ha sido usado como una "hazaña" para hacer difícil el identificar correctamente al servidor involucrado. En consecuencia, el soporte para este formato ha sido dejado de lado por algunos navegadores. La sección 3.2.1 de RFC 3986 recomienda que los navegadores deben mostrar el usuario / contraseña de otra forma que no sea en la barra de direcciones, a causa de los problemas de seguridad mencionados y porque las contraseñas no deben mostrarse nunca como texto claro.
  • anfitrión, la cual es probablemente la parte que más sobresale de un URL, es en casi todos los casos el nombre de dominio de un servidor, p.ej.: www.wikipedia.org, google.com, etc.
  • La porción :puerto especifica un número de puerto TCP. Usualmente es omitido (en este caso, su valor por omisión es80) y probablemente, para el usuario es lo que tiene menor relevancia en todo el URL.
  • La porción ruta es usada por el servidor (especificado en anfitrión) de cualquier forma en la que su software lo establezca, pero en muchos casos se usa para especificar un nombre de archivo, posiblemente precedido por nombres de directorio. Por ejemplo, en la ruta /wiki/Vaca, wiki sería un (seudo-)directorio y Vaca sería un (seudo-)nombre de archivo.
  • La parte mostrada arriba como ?parámetro=valor se conoce como porción de consulta (o también, porción de búsqueda). Puede omitirse, puede haber una sola pareja parámetro-valor como en el ejemplo, o pueden haber muchas de ellas, lo cual se expresa como ?param=valor&otroParam=valor&.... Las parejas parámetro-valor únicamente son relevantes si el archivo especificado por la ruta no es una página web simple y estática, sino algún tipo de página automáticamente generada. El software generador usa las parejas parámetro-valor de cualquier forma en que se establezca; en su mayoría transportan información específica a un usuario y un momento en el uso del sitio, como términos concretos de búsqueda, nombres de usuario, etc. (Observe, por ejemplo, de qué forma se comporta el URL en la barra de direcciones de su navegador durante una búsqueda Google: su término de búsqueda es pasado a algún programa sofisticado en google.com como un parámetro, y el programa de Google devuelve una página con los resultados de la búsqueda.)
  • La parte #enlace, por último, es conocida como identificador de fragmento y se refiere a ciertos lugares significativos dentro de una página; por ejemplo, esta página tiene enlaces internos hacia cada cabecera de sección a la cual se puede dirigir usando el ID de fragmento. Esto es relevante cuando un URL de una página ya cargada en un navegador permite saltar a cierto punto en una página extensa. Un ejemplo sería este enlace, que conduce a esta misma página y al comienzo de esta sección. (Observe cómo cambia el URL en la barra de dirección de su navegador cuando hace clic en el enlace.)

Otro ejemplo de un URL HTTP se encuentra abajo.

Referencias URI

El término referencia URI se refiere a un caso particular de un URI, o una porción de éste, tal como es usada en un documento HTML, por ejemplo, para referirse a un recurso particular. Una referencia URI habitualmente se parece a un URL o a la parte final de un URL. Las referencias URI introducen dos nuevos conceptos: la distinción entre referencias absolutas y relativas, y el concepto de un identificador de fragmento.

Un URL absoluto es una referencia URI que es parecida a los URL definidos arriba; empieza por un esquema seguido de dos puntos (":") y de una parte específica del esquema. Un URL relativo es una referencia URI que comprende sólo la parte específica del esquema de un URL, o de algún componente de seguimiento de aquella parte. El esquema y componentes principales se infieren del contexto en el cual aparece la referencia URL: el URI base (o URL base) del documento que contiene la referencia.

Una referencia URI también puede estar seguida de un carácter de numeral ("#") y un puntero dentro del recurso referenciado por el URI en conjunto. Esto no hace parte del URI como tal, sino que es pensado para que el "agente de usuario" (el navegador) lo interprete después que una representación del recurso ha sido recuperada. Por tanto, no se supone que sean enviadas al servidor en forma de solicitudes HTTP.

Ejemplos de URL absolutos:

  • http://es.wikipedia.org/w/wiki.phtml?title=URL&action=history
  • http://es.wikipedia.org/wiki/URL#Esquemas_en_URL

Ejemplos de URL relativos:

  • //en.wikipedia.org/wiki/Uniform_Resource_Locator
  • /wiki/URL
  • URL#Referencias_URI

Diferenciación entre mayúsculas/minúsculas

De acuerdo al estándar actual, en los componentes esquema y anfitrión no se diferencian mayúsculas y minúsculas, y cuando se normalizan durante el procesamiento, deben estar en minúsculas. Se debe asumir que en otros componentes sí hay diferenciación. Sin embargo, en la práctica, en otros componentes aparte de los de protocolo y anfitrión, esta diferenciación es dependiente del servidor web y del sistema operativo del sistema que albergue al servidor.

URL en el uso diario

Un HTTP URL combina en una dirección simple los cuatro elementos básicos de información necesarios para recuperar un recurso desde cualquier parte en la Internet:

  • El protocolo que se usa para comunicar,
  • El anfitrión (servidor) con el que se comunica,
  • El puerto de red en el servidor para conectarse,
  • La ruta al recurso en el servidor (por ejemplo, su nombre de archivo).

Un URL típico puede lucir como:

http://es.wikipedia.org:80/wiki/Special:Search?search=tren&go=Go

donde

  • http es el esquema,
  • es.wikipedia.org es el anfitrión,
  • 80 es el número de puerto de red en el servidor (siendo 80 el valor por omisión para el protocolo HTTP, esta porción puede ser omitida por completo),
  • /wiki/Special:Search es la ruta de recurso,
  • ?search=tren&go=Go es la cadena de búsqueda; esta parte es opcional.

Muchos navegadores web no requieren que el usuario ingrese "http://" para dirigirse a una página web, puesto que HTTP es el protocolo más común que se usa en navegadores web. Igualmente, dado que 80 es el puerto por omisión para HTTP, usualmente no se especifica. Normalmente uno sólo ingresa un URL parcial tal como www.wikipedia.org/wiki/Train. Para ir a una página principal se introduce únicamente el nombre de anfitrión, como www.wikipedia.org.

Dado que el protocolo HTTP permite que un servidor responda a una solicitud redireccionando el navegador web a un URL diferente, muchos servidores adicionalmente permiten a los usuarios omitir ciertas partes del URL, tales como la parte "www.", o el carácter numeral ("#") de rastreo si el recurso en cuestión es un directorio. Sin embargo, estas omisiones técnicamente constituyen un URL diferente, de modo que el navegador web no puede hacer estos ajustes, y tiene que confiar en que el servidor responderá con una redirección. Es posible para un servidor web (pero debido a una extraña tradición) ofrecer dos páginas diferentes para URL que difieren únicamente en un carácter "#".

Nótese que en es.wikipedia.org/wiki/Tren, el orden jerárquico de los cinco elementos es org (dominio genérico de nivel superior) - wikipedia (dominio de segundo nivel) - es (subdominio) - wiki - Train; es decir, antes del primer "/" se lee de derecha a izquierda, y después el resto se lee de izquierda a derecha.

Para una discusión más extensa acerca de HTTP URL y su uso, ver arriba.

Visión general

El término URL también es usado por fuera del contexto de la World Wide Web. Los servidores de bases de datos especifican URL como un parámetro para hacer conexiones a éstos. De forma similar, cualquier aplicación cliente-servidor que siga un protocolo particular puede especificar un formato URL como parte de su proceso de comunicación.

Ejemplo de un URL en una base de datos:

jdbc:datadirect:oracle://myserver:1521;sid=testdb

Si una página web es en forma singular y más o menos permanentemente definida a través de un URL, ésta puede ser enlazada (ver también permalink, deep linking). Este no siempre es el caso, p.ej., una opción de menú puede cambiar el contenido de un marco dentro de la página, sin que esta nueva combinación tenga su propio URL. Una página web puede depender también de información almacenada temporalmente. Si el marco o página web tiene su propio URL, esto no es siempre obvio para alguien que quiere enlazarse a ella: el URL de un marco no aparece en la barra de direcciones del navegador, y una página sin barra de dirección pudo haber sido producida. El URL se puede encontrar en el código fuente o en las "propiedades" de varios componentes de la página.

Aparte del propósito de enlazarse a una página o a un componente de página, puede ocurrir que se quiera conocer el URL para mostrar únicamente el componente, o superar restricciones tales como una ventana de navegador que no tenga barras de herramientas o que sea de tamaño pequeño y no ajustable.

Los servidores web también tienen la capacidad de direccionar URL si el destino ha cambiado, permitiendo a los sitios cambiar su estructura sin afectar los enlaces existentes. Este proceso se conoce como redireccionamiento de URL.

Véase también