NOMBRE
uri, url, urn - identificador uniforme de recursos (URI), incluido un URL o URNSINOPSIS
URI = [ absolutaURI | relativaURI ] [ "#" fragmento ]
absolutoURI = esquema ":" ( parte_jerarquica | parte_opaca )
relativoURI = ( ruta_red | ruta_absoluta | ruta_relativa ) [ "?" pregunta ]
esquema = "http" | "ftp" | "gopher" | "mailto" | "news" | "telnet" | "file" | "man" | "info" | "whatis" | "ldap" | "wais" | ...
parte_jerarquica = ( ruta_red | ruta_absoluta ) [ "?" pregunta ]
ruta_red = "//" autoridad [ ruta_absoluta ]
ruta_absoluta = "/" segmentos_ruta
ruta_relativa = segmento_relativo [ ruta_absoluta ]
DESCRIPCIÓN
Un identificador uniforme de recursos (URI) es una cadena de caracteres corta que identifica un recurso abstracto o físico (por ejemplo, una página web). Localizador de Recursos Uniforme (URL) es un URI que identifica un recurso por su mecanismo de acceso primario (por ejemplo, su ubicación de), antes que por su nombre o algún otro atributo del recurso. Un Nombre de Recurso Uniforme (URN) es un URI que debe ser globalmente único y permanecer aun cuando el recurso deja de existir o pasa a ser inaccesible. Los URI son la forma estándar de nombrar los destinos de los hiperenlaces para herramientas tales como los navegadores web. La cadena "http://www.kernel.org" es un URL (y también un URI). Algunas personas usan el término URL únicamente como sinónimo de URI (aunque técnicamente URLs son parte de los URI). Los URI pueden ser absolutos o relativos. Un identificador absoluto se refiere a un recurso independiente del contexto, mientras que un identificador relativo apunta a un recurso a través de las diferencias del contexto actual. Dentro de una referencia a una ruta relativa, los segmentos de ruta completos "." y ".." tienen significados especiales: "el nivel jerárquico actual" y "el nivel superior a este nivel jerárquico", respectivamente, Tal y como lo hacen los sistemas al estilo UNIX. Un segmento de ruta que contiene el carácter ":" no puede ser usado como el primer segmento de ruta relativa URI (por ejemplo, "esto:aquello"), porque sería erróneo para el esquema de nombres. Preceda tales segmentos con ./ ((por ejemplo "./esto:aquello"). Advierta que los descendientes de MS-DOS (por ejemplo, Microsoft Windows) reemplazan los dos puntos de los nombres de dispositivo con la barra vertical ("|") en URI, por lo que "C:" se convierten en "C|". Un identificador de fragmento, si es incluido, se refiere a una porción particular identificada (fragmento) de un recurso. El texto después de un '#' identifica al fragmento. Un URI que comience con '#' se refiere al fragmento del recurso actual.Modo de empleo
Hay diferentes esquemas URI, cada uno con reglas y significados adicionales, pero intencionadamente se hacen tan similares como sea posible. Por ejemplo, muchos esquemas URL permiten que la autoridad tenga el siguiente formato, llamado aquí un servidor_ip (los corchetes muestran qué es opcional):
servidor_ip
= [ usuario [ : contraseña ] @ ] host [ :
puerto]
Este formato te permite opcionalmente insertar un nombre de usuario, una
contraseña y/o un número de puerto. El host es el nombre
del ordenador que hace de anfitrión, y su nombre se puede determinar
mediante su DNS o una dirección IP (números separados por
puntos). Por lo que el URI
<http://fred:fredcontraseñ[email protected]:8080/> se introduce en el
servidor web del anfitrión example.com como fred (usando
fredcontraseña) usando el puerto 8080. Evite incluir contraseñas
en un URI si es posible debido a los muchos riesgos para la seguridad que
supone tener un password escrito. Si el URL facilita el nombre de usuario,
pero no la contraseña, y el servidor remoto pide la contraseña,
el programa que interpreta el URL debe requerir una del usuario.
Aquí hay algunos de los esquemas más comunes usados por sistemas
al estilo UNIX, los cuales son comprendidos por muchas aplicaciones. Advierta
que algunas aplicaciones usan URI y también tienen esquemas internos o
esquemas especializados. Vea en esas aplicaciones la documentación para
informarse sobre esos esquemas.
http - Servidor (HTTP) Web
http:// servidor_ip/ruta
- hostport
- el servidor LDAP a consultar, escrito como un nombre de anfitrión seguiro por dos puntos y un número de puerto. El puerto LDAP por omisión es el puerto TCP 389. Si no se indica, el cliente determina qué servidor LDAP usar.
- dn
- el Nombre LDAP Distinguido, que identifica el objeto base de la búsqueda LDAP (vea
- attributes
- una lista de atributos, separados por comas, a devolver. Vea RFC 2251 sección 4.1.5. Si se omite, se deberían devolver todos los atributos.
- scope
- especifica el ámbito de la búsqueda, que puede ser "base" (para una búsqueda de objetos base), "one" (para una búsqueda de un nivel) o "sub" (para una búsqueda de subárbol). Si se omite el ámbito, se asume "base".
- filter
- especifica el filtro de la búsqueda (subconjunto de entradas a devolver). Si se omite, se deberían devolver todas las entradas. Vea
- extensions
- Una lista de parejas tipo=valor, separadas por comas, donde la porción =valor se puede omitir para opciones que no la necesiten. Una extensión prefijada con un '!' es crítica (debe estar soportada para ser válida), en otro caso no es crítica (opcional).
ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=USPara obtener simplemente su atributo de dirección postal, pregunte:
ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddressPara pedir información a host.com en el puerto 6666 sobre la persona de nombre común (common name, cn) "Babs Jensen" de la Universidad de Michigan, pregunte:
ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)wais - Wide Area Information Servers (Servidores de Información de Área Amplia) wais:// hostport/database
Codificación de caracteres
Las URI usan un número limitado de caracteres que pueden ser tecleados y usados multitud de situaciones. Los siguientes caracteres son reservados, es decir, pueden aparecer en un URI, pero su uso está limitado a su propósito específico (los datos conflictivos deben ser precedidos por una carácter de escape antes de formar el URI):-
; / ? : @ & = + $ ,
-
- _ . ! ~ * ' ( )
- (1)
- traducir las secuencias de caracteres a UTF-8 (IETF RFC 3629)—consulte utf-8(7) —y a continuación
- (2)
- usar el mecanismo de escape URI, es decir, usar la codificación %HH para octetos problemáticos.
Escritura de URI
Cuando son escritos, las URI deberían introducirse entre comillas (por ejemplo, "http://www.kernel.org"), encerrados entre <> (por ejemplo, <http://lwn.net>), o situados en una línea solos. Una advertencia para aquellos que usan comillas dobles: nunca mueva símbolos de puntuación que no pertenezcan a la URI (tales como el punto y final de una frase o la coma en una lista) dentro de ella, ya que esto cambiará su valor. En lugar de eso, use "<>", o cambie a un sistema de notación para no incluir nunca en él caracteres extraños. Este último sistema, llamado el 'nuevo' o 'lógico' sistema de entrecomillado mediante "Las reglas de Hart"y el "Diccionario Oxford para Ecritores y Editores", se considera una buena práctica en Gran Bretaña y en varios idiomas europeos. Algunos documentos más antiguos sugerían añadir el prefijo "URL" justo antes de la URI, pero esta solución nunca llegó a adoptarse mayoritariamente. La sintáxis URI se diseñó para que no fuera ambigua. Además, como las URI se han convertido en un lugar común, los medios tradicionales (televisión, radio, periódicos, vallas publicitarias, etc.) han incrementado el uso de referencias abreviadas URI formadas sólo por la autoridad y partes de la ruta del identificativo del recurso (por ejemplo, <www.w3.org/Addressing>). Tales referencias son principalmente entendidas por la interpretación humana más que por las máquinas, asumiendo que el estudio del contexto es suficiente para completar el URI (es decir, nombres de host que comiencen por "www" son como tener un prefijo URI "http://" y los host que comiencen con "ftp" usualmente tendrán un prefijo "ftp://"). Algunas implementaciones de clientes resuelven heurísticamente estas referncias. Tales heurísticas pueden cambiar con el tiempo, particularmente cuando se introduzcan nuevos esquemas. Ya que un URI abreviado tiene la misma sintaxis que una ruta URL relativa, la referencia URI relativa no se puede usar donde los URI relativos son permitidos, y sólo se pueden usar cuando no hay una base definida (como en cuadros de diálogo). No use URI abreviados como enlaces de hipertexto dentro de un documento. Use el formato estándar como se describe aquí.ESTÁNDARES
(IETF RFC 2396) (HTML 4.0)NOTAS
Algunas herramientas de un sistema Linux que aceptan URI (por ejemplo, un navegador) deberían ser capaces de manejar (directa o indirectamente) todos los esquemas aquí descritos, incluyendo los esquemas man: e info:. Manejarlos invocando otros programas está bien, y de hecho es lo apropiado. Tecnicamente el fragmento no es parte del URI. Para informarse sobre como incrustar URI (incluidos URLs) en formato de datos, véase la documentación sobre ese formato. HTML usa el formato <A HREF=" uri"> texto </A>. Los archivos Textinfo usan el formato @uref{ uri}. Man y mdoc han añadido recientemente la macro UR, o simplemente incluyendo el URI en el texto (los visores deben ser capaces de detectar :// como parte de un URI). Los gestores de escritorio KDE y GNOME actualmente varían en los URI que aceptan, en particular en sus respectivos navegadores de ayuda. Para listar las páginas del manual, GNOME usa <toc:man> mientras que KDE usa <info:(dir)> (el autor de esta página prefiere el sistema KDE mostrado aquí, aunque un formato más regular sería mejor). En general, KDE usa <file:/cgi-bin/> como prefijo para un conjunto de ficheros generados. KDE prefiere la documentación en formato HTML, siendo accedida a través de <file:/cgi-bin/helpindex>. GNOME prefiere el esquema ghelp para almacenar y encontrar documentación. Ningún navegador maneja referencias de tipo file: a directorios en el momento de crear este documento, haciendo difícil la referencia a entradas de directorio con un navegador URI. Como se ha indicado antes, estos entornos difieren sobre cómo manejar el esquema info:, probablemente es la mayor diferencia. Se espera que GNOME y KDE converjan a un mismo formato URI, y en el futuro esta página describirá el resultado de esa convergencia. Los esfuerzos para ayudar a esta convergencia son admirables.Seguridad
Un URI no posee por sí mismo un tratamiento de seguridad. No hay garantía general de que un URI, que en un tiempo localizó un recurso dado, continue haciéndolo. Ni hay ninguna garantía de que tal URL no localizará un recurso diferente pasado un tiempo. Tal garantía sólo se puede obtener de la(s) persona(s) que mantiene(n) el nombre y el recurso en cuestión. A veces es posible construir un URL tal que al intentar realizar una operación aparentemente inofensiva, como la recuperación de una entidad asociada con el recurso, se produzca una posible operación remota peligrosa. El URL no seguro se construye típicamente especificando un número de puerto distinto del reservado por el protocolo de red en cuestión. El cliente, inconscientemente contacta con un sitio que de hecho está ejecutando un protocolo diferente. El contenido del URL contiene instrucciones que, cuando son interpretadas de acuerdo con este otro protocolo, causan una operación inexperada. Un ejemplo ha sido el uso de un URL gopher para enviar, a través de un servidor SMTP, un mensaje no intencionado o anónimo. Se debería llevar cuidado cuando se usa un URL que especifica un número de puerto diferente del que viene por defecto para el protocolo, especialmente cuando se trata de un número dentro del espacio reservado. Se debería andar con precaución cuando se usa un URI que contiene delimitadores de escape para un protocolo dado (por ejemplo, los caracteres CR y LF para protocolos de telnet) ya que no son decodificados antes de la transmisión. Esto puede violar el protocolo, pero evita el peligro de que algunos caracteres sean usados para simular una operación o parámetro extra en ese protocolo, el cual puede que conduzca a que se lleve a caba una inesperada y posiblemente dañina operación. Es claramente una mala idea el uso de un URI que contenga una contraseña, la cual es -supuestamente- secreta. En particular, el uso de una contraseña con el componente 'userinfo' de un URI está muy desaconsejada excepto en el infrecuente supuesto de una contraseña para uso público.ERRORES
La documentación puede estar situada en variedad de lugares, por lo que actualmente no es un buen esuqema URI para la documentación en linea de ámbito general con diferentes formatos. Referencias de la forma <file:///usr/doc/ZZZ> no funcionan porque distribuciones diferentes y requisitos de instalación locales diferentes puede que situen los archivos en directorios diferentes (puede ser en /usr/doc, o /usr/local/doc, o /usr/share, o cualquier otro sitio). Además, el directorio ZZZ normalmente cambia con la versión. Por último, usar el esquema file: no es sencillo para las personas que cargan documentación dinámica de Internet (en lugar de cargar ficheros en un sistema de archivos local). Un futuro URI puede ser añadido (por ejemplo "userdoc:") para permitirle a los programas incluir referencias cruzadas a documentación con más detalle sin tener que saber la posición exacta de dicha documentación. Alternativamente, una versión futura de la especificación del sistema de ficheros puede que especifique suficientemente las localizaciones de los ficheros para que el esquema file: sea capaz de encontrar la documentación. Muchos programas y formatos de ficheros no incluyen una forma de incorporar o implementar enlaces usando URI. Algunos programas no pueden manejar todos los formatos URI. Debería haber un mecanismo estándar, para cargar un URI, que automáticamente detectara el entorno del usuario (por ejemplo, texto o gráfico, entorno de escritorio, preferencias de usuario local, y herramientas que se ejecutan actualmente) y que invocara la herramienta adecuada para cualquier URI.VÉASE TAMBIÉN
lynx(1), man2html(1), mailaddr(7), utf-8(7) IETF RFC 2255TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Angel Bueno Pardo <[email protected]>, Juan Piernas <[email protected]>, Miguel Pérez Ibars <[email protected]> y Marcos Fouces <[email protected]> Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a [email protected]5 Febrero 2023 | P |