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.
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 detabby
.
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
oorg
(es decir, un eTLD que corresponde a un TLD), el dominio y el dominio de segundo nivel anterior, por ejemplo,example.com
oexample.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
ygithub.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
oexample.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.
Buscar
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
ymood=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 esexample.com
, un subdominio del dominio de nivel superiorcom
.Para
https://example.org.au
, el dominio de nivel superior esau
; el segundo nivel el dominio esorg
y el dominio de tercer nivel esexample
. En este ejemplo,org.au
es un subdominio deau
yexample.org.au
es un subdominio deorg.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 porscheme
, el eTLD y el etiqueta antes del sobre eso. Por ejemplo, para la URLhttps://www.example.com/cat
, el sitio eshttps://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
osa.edu.au
, el "sitio" Consta descheme
, el eTLD y la etiqueta antes de eso. Por ejemplo, para la URLhttps://cat.example.co.uk/tabby
, el sitio eshttps://example.co.uk
y, parahttps://www.education.sa.gov.au
, el sitio eshttps://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 deexample.com
.support.api.example.org
es un subdominio deapi.example.org
, que es un el subdominio deexample.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 deexample.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 esorg
. - Para
https://example.org.au
, el dominio de nivel superior de la URL esau
yorg
. es un dominio de segundo nivel (aunqueorg
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 escom
, 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
- WhatWG: URL Living Standard
- WhatWG: Estándar dinámico de HTML
- API de URL
- Acerca de "same-site" y “same-origin”
- RFC: localizadores de recursos uniformes (URL)
- RFC: URI, URLs y URN
- Root Zone Database (directorio de TLD)
- Lista de sufijos públicos (directorio de eTLDs: “Un sufijo público es un conjunto de nombres de DNS o comodines concatenados) con puntos. Representa la parte de un nombre de dominio que no está incluida en el control del registrante individual").
- Glosario de la ICANN
- ¿Qué es un nombre de dominio completamente calificado?
- ¿De cuántas formas puedes segmentar una URL y asignarles un nombre?
- Glosario de documentos web de MDN
- ¿Qué es una URL?
- La historia de la URL