Z jakich części składa się adres URL?

Najczęściej można powiedzieć „Mam domenę” lub „Nasze obrazy są hostowane w innej witrynie”, nawet jeśli nie jest to prawda. Jednak w niektórych kontekstach trzeba zachować większą precyzję. Na przykład w przypadku plików cookie musisz znać różnicę między site a origin.

Nazwy części adresu URL są podawane w standardzie, który definiuje również interfejs JavaScript API:

  • Standard adresów URL definiuje adresy URL i powiązane z nimi koncepcje, aby umożliwić inżynierom tworzenie współdziałających przeglądarek internetowych.
  • Komponent URL API w standardzie definiuje metody zapewniające dostęp do części ciągu znaków adresu URL, takich jak schemat czy źródło.

W tym dokumencie opisujemy szereg pojęć używanych w ciągach adresów URL HTTP i HTTPS. Nie uwzględnia innych typów adresów URL, takich jak adresy URL plików czy danych. W przypadku terminów takich jak host czy origin dokładne definicje są z założenia złożone, dlatego ten dokument zawiera przykłady i linki do standardu adresów URL, zamiast szukać pełnych wyjaśnień.

Aby uzyskać nazwy komponentów adresu URL zdefiniowanych przez ten interfejs API, możesz użyć JavaScriptu. Na przykład:

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

Analizator adresów URL

Zmodyfikuj poniżej adres URL, aby zobaczyć nazwy jego części. Możesz go też otworzyć w osobnej karcie na stronie url-parts.glitch.me.


Nazwy części adresów URL są wymienione poniżej w porządku alfabetycznym.

Domena krajowa najwyższego poziomu (ccTLD)

Domena najwyższego poziomu zdefiniowana na liście kodów krajów w formacie ISO 3166-1.

  • W przypadku usługi https://example.org.au domena ccTLD to au.
  • W przypadku usługi https://example.io domena ccTLD to io.

Nazwa domeny

Części adresu URL HTTP lub HTTPS rozdzielone kropkami: wszystko, co znajduje się po schemacie, ale przed ścieżką lub portem (jeśli jest określony). Każda część nazwy domeny jest nazywana etykietą.

URL Nazwa domeny
https://example.github.io/path example.github.io
https://support.example.org.au:443 support.example.org.au

Efektywna domena najwyższego poziomu (eTLD)

wpis na liście domen publicznych, w tym domenę TLD oraz(w przypadku domen eTLD złożonych z wielu części) dodatkowe domeny poniżej: drugiego poziomu, trzeciego poziomu itd.

  • Przykłady: com, com.au, github.io, sa.edu.au, schools.nsw.edu.au.

„Publiczny sufiks”, jak te przykłady, to nazwa, pod którą można zarejestrować domeny. Lista domen publicznych to lista wszystkich znanych sufiksów publicznych. Jest ona często aktualizowana. Przeglądarki takie jak Chromium i Firefox używają tej listy w swoich kompilacjach.

eTLD+1

Zobacz domenę, którą można zarejestrować.

eTLD oraz poprzedzającą ją subdomenę.

  • np. example.com, example.org.au, example.github.io, example.sa.edu.au, example.schools.nsw.edu.au.

Nazwa pliku

Niezdefiniowane w standardzie URL ani jako część interfejsu URL API, ale powszechnie używane w odniesieniu do końcowej, niebędącej ścieżką części adresu URL na podstawie założenia, że adres URL jest mapowany bezpośrednio na strukturę katalogów, ale często jest nieprawidłowy.

Na przykład w polu https://example.com/dir/file.html nazwa file.html może być nazywana nazwą pliku.

Przeglądarki używają nazwy pliku także do nazywania zasobu, jeśli jest on pobierany. Na przykład https://example.com/images/image.jpg jest zwykle zapisywany lokalnie w lokalizacji image.jpg.

Fragment

Ciąg znaków po znaku # na końcu adresu URL, który określa identyfikator fragmentu.

  • Na przykład: adres URL https://example.com/cats#tabby ma identyfikator fragmentu o wartości tabby.

Część zawierająca # jest nazywana hash lub kotwicą. Możesz też dodać link do fragmentu tekstu i go wyróżnić.

Hasz jest zwracany przez interfejs URL API, a nie przez fragment.

Pełna i jednoznaczna nazwa domeny (FQDN)

Pełny adres witryny lub serwera mapowany na adres IP.

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

Pełna i jednoznaczna nazwa domeny adresu URL nie zawiera portu nawet wtedy, gdy używany jest port inny niż domyślny.

Hasz (lub kotwica)

Ciąg znaków występujący po znaku # na końcu adresu URL, który określa identyfikator fragmentu (w niektórych kontekstach jest nazywany „kotwicą”).

Część bez parametru # jest nazywana fragmentem. Możesz też dodać link do fragmentu tekstu i go wyróżnić.

Hasz jest zwracany przez interfejs URL API, a nie przez fragment.

Host

Zgodnie z definicją w standardzie URL hostem może być nazwa domeny, adres IP v4, adres IPv6, nieprzezroczysty host lub pusty host.

  • Definicja standardu URL host nie zawiera port.
  • URL.host uwzględnia port, chyba że jest on domyślnym schematem.
  • URL.hostname nie uwzględnia portu.
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

Nazwa hosta

Nazwa hosta jest definiowana przez interfejs JavaScript URL API, ale nie przez standard adresu URL w innych miejscach. Więcej informacji znajdziesz w sekcji na temat reprezentacji hosta.

URL.hostname zwraca hosta bez portu.

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

Punkt początkowy

Standard adresu URL definiuje element origin i prowadzi do standardu HTML tła.

W przypadku adresów URL HTTP lub HTTPS URL.origin zwraca schemat, host i port (chyba że jest portem domyślnym w schemacie).

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

Parametr

Zobacz Wyszukaj parametry

Hasło

Zobacz nazwę użytkownika.

Nazwa ścieżki

W przypadku adresu URL HTTP lub HTTPS: część po domenie i porcie (jeśli została zdefiniowana), łącznie z nazwą pliku (jeśli została zdefiniowana), ale bez ciągu wyszukiwania ani hasła.

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

„Ścieżka” jest czasem używana w odniesieniu do nazwy ścieżki bez nazwy pliku. Na przykład dla adresu URL https://example.com/cat/pattern/tabby.html „ścieżka” to /cat/pattern.

Port

Liczba po : w adresie URL, która identyfikuje port sieciowy. Na przykład: w przypadku adresu URL https://example.com:1234/tabby numer portu to 1234.

Numer portu musi być 16-bitową nieznaną liczbą całkowitą, czyli liczbą całkowitą z zakresu od 0 do 65 535 włącznie.

W przypadku adresu URL HTTP domyślnym portem jest 80, a w przypadku protokołu HTTPS – 443. Adres URL nie musi określać numeru portu, chyba że został użyty port inny niż domyślny.

Jeśli port jest domyślnym portem, interfejs API zwraca pusty ciąg znaków.

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

Protokół

schemat, a po nim ciąg : (np. http: lub https:).

Zasób protocol jest dostępny przez interfejs URL API, ale scheme już nie.

Zapytanie (lub „ciąg zapytania”)

Część adresu URL wskazująca wyszukiwanie, bez początkowego ?.

Domena, którą można zarejestrować

  • W przypadku adresu URL z jednoczęściową domeną eTLD, taką jak com lub org (czyli domeną TLD), domena i domena drugiego poziomu przed nią, na przykład example.com lubexample.org.
  • W przypadku adresu URL z dwuczęściową domeną eTLD, na której dozwolona jest tylko rejestracja na trzecim poziomie (czyli wpisy na liście domen publicznych, takie jak com.au i github.io), dwuczęściowa domena najwyższego poziomu („publiczny sufiks”) oraz nazwa domeny trzeciego poziomu tuż przed nimi. np. example.org.au lub example.github.io.
  • W przypadku domen eTLD składających się z co najmniej 3 części – eTLD i wcześniejsza domena.

[język] Scheme

Część adresu URL (przed ://) określająca protokół sieciowy (lub działanie, które ma wykonać klient użytkownika) w momencie wysyłania żądania do adresu URL. Na przykład żądanie skierowane do adresu URL o schemacie https należy wysłać za pomocą protokołu HTTPS. Żądanie wysłane do adresu URL ze schematem takim jak file, mailto lub git, który nie odpowiada protokołowi sieci, zależy od klienta użytkownika. Na przykład gdy użytkownik klika link mailto, większość przeglądarek otwiera domyślną aplikację pocztową, korzystając z wartości z adresu URL href linku.

Znak zapytania, po którym następuje seria par klucz-wartość reprezentujących parametry i ich wartości podane po nazwie ścieżki.

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 lub „ciąg zapytania” odnosi się do elementu search bez początkowego ?.

Zobacz też sekwencje wyszukiwania parametrów.

Wyszukaj parametry

Odwołaj się do elementu danych przekazanych w ciągu wyszukiwania (lub „ciągu zapytania”).

  • Na przykład w przypadku https://example.com/cats?pattern=tabby&mood=bonkers ciąg wyszukiwania ma 2 parametry: pattern=tabby i mood=bonkers.

Domena drugiego poziomu

Domena przed domeną najwyższego poziomu.

  • W przypadku adresu URL https://www.example.com domena drugiego poziomu to example.com, czyli subdomena najwyższego poziomu com.

  • W przypadku https://example.org.au domena najwyższego poziomu to au, domena drugiego poziomu to org, a domena trzeciego poziomu to example. W tym przykładzie org.au to subdomena domeny au, a example.org.au to subdomena domeny org.au.

Witryna

Termin witryna jest definiowany przez standard HTML wraz z atrybutem same-site, które zawiera schemat, i bezschematową witryną w tej samej witrynie.

Witryna nie jest zdefiniowana w standardzie URL lub interfejsie JavaScript URL API.

W tym kontekście:

  • W przypadku adresu URL HTTP lub HTTPS z jednoczęściowym elementem eTLD, np. https://example.com, witryna składa się z elementu scheme, eTLD oraz etykiety. Na przykład: w przypadku adresu URL https://www.example.com/cat witryna to https://example.com. W przypadku tego adresu URL domena eTLD jest taka sama jak domena najwyższego poziomu.
  • W przypadku wieloczęściowych domen eTLD, takich jak co.uk, github.io czy sa.edu.au, „witryna” składa się z elementów scheme, eTLD oraz etykiety. Na przykład w przypadku adresu URL https://cat.example.co.uk/tabby witryna to https://example.co.uk, a w przypadku adresu https://www.education.sa.gov.au witryna to https://education.sa.gov.au.
URL Witryna (ze schematem i eTLD +1)
https://cat.example.com/tabby ("https", "example.com")
https://cat.example.co.uk/tabby ("https", "example.co.uk")

W przeciwieństwie do elementu origin witryna nie zawiera portu.

Subdomena

Domena w domenie wyższego poziomu.

W przypadku witryn jednoczęściowych domen najwyższego poziomu, takich jak com czy org, części przed domeną najwyższego poziomu są oddzielone kropką.

  • www.example.com to subdomena domeny example.com.
  • support.api.example.org to subdomena domeny api.example.org, która jest subdomeną domeny example.org.

W przypadku dwuczęściowych domen eTLD, w których dozwolone są tylko rejestracje trzeciego poziomu(czyli wpisy na liście domen publicznych takich jak co.uk i github.io), subdomeny są częściami poprzedzającymi ten adres domeny.

  • Na przykład: cat.example.co.uk to subdomena domeny example.co.uk.

Fragment tekstu

Rodzaj fragmentu, który umożliwia tworzenie linków do zakresu tekstu na stronie i wyróżnianie go. Gdy użytkownik przechodzi do linku z fragmentem tekstu, przeglądarka próbuje znaleźć, przewinąć i podświetlić tekst na stronie.

Fragment tekstu zaczyna się od wyrażenia :~:text=, po którym następuje wyszukiwane hasło.

Aby np. utworzyć link do pierwszego wystąpienia tekstu „fragment” na tej stronie, użyj adresu URL https://web.dev/articles/url-parts#:~:text=fragment.

Więcej informacji: fragmenty tekstu

Domena najwyższego poziomu (TLD)

Nazwa domeny wymieniona w bazie danych strefy głównej, na przykład com lub org. Niektóre domeny najwyższego poziomu to domeny krajowe najwyższego poziomu, np. uk i tv.

W opisie części adresu URL HTTP lub HTTPS domena najwyższego poziomu to nazwa domeny, która następuje po ostatniej kropce.

  • W przypadku https://example.org domena najwyższego poziomu adresu URL to org.
  • W przypadku https://example.org.au domena najwyższego poziomu adresu URL to au, a org to domena drugiego poziomu (chociaż org także jest domeną najwyższego poziomu). org.au to dwuczęściowa domena eTLD.

Lista domen publicznych domen eTLD obejmuje domeny składające się z 1, 2 lub większej liczby części, więc domena najwyższego poziomu może też być domeną eTLD. Na przykład:

  • W przypadku https://example.com adres URL eTLD to com, co jest również domeną najwyższego poziomu.

Nazwa użytkownika

Na początku adresu URL możesz podać opcjonalną nazwę użytkownika i hasło, ale to ze względów bezpieczeństwa zostało wycofane i w wielu przypadkach będzie ignorowane.

Na przykład w przypadku https://user123:password1@example.com nazwa użytkownika to user123. Nazwa użytkownika (i hasło) jest zapisana zwykłym tekstem i nie jest zaszyfrowana. Jeśli nazwa użytkownika zawiera symbole : lub @, musi być zakodowana odpowiednio na adres URL %3A i %40.


Więcej informacji