¿Cuáles son las partes de una URL?

La mayoría de las veces, es bueno decir frases como "Compré un dominio". o "Nuestras imágenes están alojados en un sitio diferente", incluso si eso no es estrictamente cierto. Sin embargo, en algunos contextos, se necesita para ser más preciso. Por ejemplo, cuando se trata de cookies, debes comprender la diferencia entre sitio y origen.

Los nombres de las partes de la URL se especifican en un estándar, que también define un código API:

  • El estándar de URL define las URLs y los elementos para permitir a los ingenieros compilar navegadores web interoperables.
  • El componente URL API define métodos para brindar acceso a partes de una cadena de URL como el orígen o el esquema.

En este documento, se explica un rango de términos que se usan con las cadenas de URL HTTP o HTTPS. Integra no abarca otros tipos de URL, como URLs de archivos o datos. Para términos como host y origin, las definiciones precisas son intrínsecamente complejas, por lo que proporciona ejemplos y vínculos al estándar de URL, en lugar de para dar explicaciones completas.

Puedes usar JavaScript para obtener los nombres de los componentes de URL definidos por la API de URL. Por ejemplo:

let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);

Analizador de URL

Edita la siguiente URL para ver cómo se nombran las partes de la cadena de URL. También puedes abrirlo en una pestaña aparte en url-parts.glitch.me.


Los nombres de las partes de la URL se enumeran alfabéticamente a continuación.

Dominio de nivel superior con código de país (ccTLD)

Es un dominio de nivel superior definido en la lista de códigos de país ISO 3166-1.

  • Para https://example.org.au, el ccTLD es au.
  • Para https://example.io, el ccTLD es io.

Nombre de dominio

Las partes de una URL HTTP o HTTPS separadas por puntos: todo lo que sigue al scheme, pero antes de la path o el port (si se especifica). Cada parte del nombre de dominio se conoce como una etiqueta.

URL Nombre de dominio
https://example.github.io/path example.github.io
https://support.example.org.au:443 support.example.org.au

Dominio de nivel superior efectivo (eTLD)

Una entrada de la lista pública de sufijos, que incluya un TLD y(para eTLD con varias partes) dominios adicionales por debajo de lo siguiente: segundo, tercer nivel, etcétera.

  • Por ejemplo: com, com.au, github.io, sa.edu.au, schools.nsw.edu.au

Un “sufijo público”, como estos ejemplos, es un nombre con el cual se pueden registrada. La lista pública de sufijos es una lista de todos los sufijos públicos conocidos, y se actualiza con frecuencia. Navegadores, incluido Chromium y Firefox usan la lista en sus compilaciones.

eTLD+1

Consulta Dominio registrable.

Un eTLD más el subdominio que lo precede

  • Por ejemplo: example.com, example.org.au, example.github.io, example.sa.edu.au, example.schools.nsw.edu.au.

Nombre del archivo

No se define en el estándar de la URL y no forma parte de la API de URL, pero se usa con frecuencia. para referirnos a la parte final, que no es de ruta, de la URL según la suposición, a menudo incorrecta, de que la URL se asigna directamente a un directorio en la nube.

Por ejemplo, con https://example.com/dir/file.html, file.html podría denominarse el nombre del archivo.

Los navegadores también usan el valor de nombre de archivo para nombrar un recurso si se descarga. Por ejemplo, por lo general, se guardaría https://example.com/images/image.jpg. localmente en image.jpg.

Fragment

Una cadena que sigue a un carácter # al final de una URL que proporciona un identificador de fragmento.

  • Por ejemplo, la URL https://example.com/cats#tabby tiene un fragmento valor de identificador de tabby.

La parte que incluye el # se conoce como hash o ancla. También puedes vincular a un fragmento de texto y destacarlo.

La API de URL devuelve el hash en lugar del fragmento.

Nombre de dominio completamente calificado (FQDN)

Es una dirección completa de un sitio web o un servidor que se asigna a una dirección IP.

URL FQDN
https://example.com:1234/cats example.com
https://api.example.github.io api.example.github.io

El FQDN para una URL no incluye el port, incluso si una URL no predeterminada usar el puerto.

Hash (o ancla)

Una cadena que sigue a un carácter # al final de una URL que proporciona un identificador de fragmento. algunos contextos esto se conoce como "ancla").

La parte que excluye el # se conoce como el fragmento. También puedes vincular a un fragmento de texto y destacarlo.

La API de URL devuelve el hash en lugar del fragmento.

Host

Según se define en el estándar de URL, un host puede ser un nombre de dominio, dirección IP v4, dirección IPv6, host opaco o vacío host.

  • La definición del estándar de URL de host no incluye el puerto.
  • URL.host incluye el puerto, a menos que sea el predeterminado del esquema.
  • URL.hostname no incluye el puerto.
URL URL.host
https://www.example.com:443/cat www.example.com
// 443 is the default port for the scheme
https://www.example.com:1234/cat www.example.com:1234
https://cat.example.github.io cat.example.github.io

Nombre de host

La API de URL de JavaScript define el nombre de host, pero no en otro lugar con la URL. estándar. Consulta la representación del host para obtener más detalles.

URL.hostname: Muestra el host sin el puerto.

URL URL.hostname
https://www.example.com:443/cat www.example.com
https://www.example.com:1234/cat www.example.com
https://cat.example.github.io cat.example.github.io

Origen

El estándar de URL define origin. vínculos al estándar de HTML para en segundo plano.

Para URLs HTTP o HTTPS, URL.origin muestra el esquema, el host y el puerto (a menos que el puerto sea el predeterminado para el esquema).

URL URL.origin
https://www.example.com:443/cat https://www.example.com
https://www.example.com:1234/cat https://www.example.com:1234
https://cat.example.github.io https://cat.example.github.io

Parámetro

Consulta Parámetros de búsqueda.

Contraseña

Consulta nombre de usuario.

Nombre de ruta

En el caso de una URL HTTP o HTTPS, la parte que sigue al dominio y el puerto (si están definidos) incluir un filename (si está definido), pero no incluir el cadena de búsqueda o hash.

URL URL.pathname
https://example.com [empty string]
https://example.com:8000/search?q=tabby /search
https://example.github.io/cat/pattern#tabby /cat/pattern
https://example.github.io/README.md /README.md

"Ruta" para referirse al nombre de la ruta de acceso sin el nombre de archivo. Para Por ejemplo, para la URL https://example.com/cat/pattern/tabby.html, el campo "path" es /cat/pattern.

Puerto

Es el número después de : en una URL que identifica un puerto de red. Por ejemplo: para la URL https://example.com:1234/tabby, el número de puerto es 1234.

El número de puerto debe ser un número entero sin firma de 16 bits, es decir, un número entero entre 0 y 65,535 inclusive.

Para una URL HTTP, el puerto predeterminado es 80. para HTTPS, el valor predeterminado es 443. Una URL no necesita especificar el número de puerto, a menos que se use un puerto no predeterminado.

La API devuelve una cadena vacía si el puerto es el predeterminado para el esquema.

URL URL.port
https://example.com // empty string
https://example.com:443/foo // empty string: port is default for scheme
https://www.example.com:1234/foo 1234

Protocolo

El esquema seguido de : (por ejemplo, http: o https:)

protocol está disponible en la API de URL, pero scheme no.

Consulta (o "cadena de consulta")

La parte de búsqueda de la URL, excepto la ? inicial.

Dominio registrable

  • Para una URL con un eTLD de una sola parte, como com o org (es decir, un eTLD que corresponde a un TLD), el dominio y el dominio de segundo nivel anterior, por ejemplo, example.com o example.org
  • Para una URL con un eTLD de dos partes en el que solo se permite el registro de tercer nivel permitido (es decir, entradas en la lista de sufijos públicos, como com.au y github.io) el Dominio de dos partes de nivel superior (“sufijo público”) y nombre de dominio de tercer nivel justo antes de eso. Por ejemplo: example.org.au o example.github.io.
  • Para los eTLD con tres o más partes, el eTLD y el dominio anterior.

Esquema

La parte de la URL (antes de ://) que define el protocolo de red (o la acción que se debe realizar) por el usuario-agente) cuando se realiza una solicitud a una URL. Por ejemplo, una solicitud a un La URL con un esquema https se debe crear con el protocolo HTTPS. Para una solicitud a una URL con un esquema como file, mailto o git, que no corresponden a una red el comportamiento depende del usuario-agente. Por ejemplo, cuando un usuario hace clic en un vínculo mailto, la mayoría de los navegadores abren su aplicación de correo electrónico predeterminada, mediante los valores de la URL href del vínculo.

Un signo de interrogación seguido de una serie de pares clave-valor que representan parámetros y sus valores, proporcionados después de pathname.

URL URL.search
https://example.com/cats?pattern=tabby&mood=bonkers ?pattern=tabby&mood=bonkers
https://example.com/cats:443?pattern=tabby ?pattern=tabby

query o "cadena de consulta" se refiere al search sin el delante de ?.

Consulta también Parámetros de búsqueda.

Buscar parámetros

Hace referencia a un elemento de datos que se pasa en una cadena de búsqueda. (o “cadena de consulta”).

  • Por ejemplo, para https://example.com/cats?pattern=tabby&mood=bonkers, el valor La cadena de búsqueda tiene dos parámetros: pattern=tabby y mood=bonkers.

Dominio de segundo nivel

El dominio antes de un dominio de nivel superior.

  • Para la URL https://www.example.com, el dominio de segundo nivel es example.com, un subdominio del dominio de nivel superior com.

  • Para https://example.org.au, el dominio de nivel superior es au; el segundo nivel el dominio es org y el dominio de tercer nivel es example. En este ejemplo, org.au es un subdominio de au y example.org.au es un subdominio de org.au

Sitio

Sitio se define por el estándar HTML, junto con same-site, que incluye el esquema y en el mismo sitio sin esquemas.

El sitio no está definido en el estándar de la URL ni en la API de URL de JavaScript.

En este contexto:

  • Para una URL HTTP o HTTPS con un eTLD de una sola parte, como https://example.com, el sitio está formado por scheme, el eTLD y el etiqueta antes del sobre eso. Por ejemplo, para la URL https://www.example.com/cat, el sitio es https://example.com (Para esta URL, el eTLD es el mismo que el dominio de nivel superior).
  • Para los eTLD de varias partes, como co.uk, github.io o sa.edu.au, el "sitio" Consta de scheme, el eTLD y la etiqueta antes de eso. Por ejemplo, para la URL https://cat.example.co.uk/tabby, el sitio es https://example.co.uk y, para https://www.education.sa.gov.au, el sitio es https://education.sa.gov.au.
URL Sitio (con esquema y eTLD +1)
https://cat.example.com/tabby ("https", "example.com")
https://cat.example.co.uk/tabby ("https", "example.co.uk")

A diferencia de origin, el sitio no incluye port.

Subdominio

Es un dominio dentro de un dominio de nivel superior.

En el caso de los sitios con dominios de nivel superior de una sola parte, como com o org, las partes antes del dominio de nivel superior, cada uno de los cuales está separado por un punto.

  • www.example.com es un subdominio de example.com.
  • support.api.example.org es un subdominio de api.example.org, que es un el subdominio de example.org.

Para los eTLD de dos partes en los que solo se permiten registros de tercer nivel(es decir, entradas en la lista de sufijos públicos, como co.uk y github.io) los subdominios son las partes del nombre de dominio que las antecede.

  • Por ejemplo: cat.example.co.uk es un subdominio de example.co.uk.

Fragmento de texto

Es un tipo de fragmento que permite vincular y destacar contenido. un rango de texto dentro de una página. Cuando un usuario sigue un vínculo con un fragmento de texto, el navegador intenta localizar, desplazarse y destacar el texto dentro de la página.

Un fragmento de texto comienza con :~:text= seguido del término de búsqueda.

Por ejemplo, para vincular con el primer caso del texto "fragmento" en esta página, utiliza la URL https://web.dev/articles/url-parts#:~:text=fragment.

Obtén más información: Fragmentos de texto.

Dominio de nivel superior (TLD)

Un nombre de dominio que aparezca en la base de datos de zonas raíz, como com o org. Algunos dominios de nivel superior dominios de nivel superior con código de país, como uk y tv.

Cuando se describen las partes de una URL HTTP o HTTPS, el TLD es el nombre de dominio que le sigue al punto final.

  • Para https://example.org, el dominio de nivel superior de la URL es org.
  • Para https://example.org.au, el dominio de nivel superior de la URL es au y org. es un dominio de segundo nivel (aunque org también es un dominio de nivel superior dominio). org.au es un eTLD de dos partes.

La lista pública de sufijos de eTLD incluye dominios con una, dos o más partes, por lo que un TLD también puede ser que es el eTLD. Por ejemplo:

  • Para https://example.com, el eTLD de la URL es com, que también es un TLD.

Nombre de usuario

Se pueden proporcionar un nombre de usuario y una contraseña opcionales al principio de la URL, pero esta dejó de estar disponible por motivos de seguridad y serán ignorados en muchos casos.

Por ejemplo, con https://user123:password1@example.com, el nombre de usuario es user123 Ten en cuenta que el nombre de usuario (y la contraseña) están en texto sin formato y no están encriptados. Si el nombre de usuario contiene símbolos : o @, debe codificarse como %3A como una URL y %40 respectivamente.


Más información