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

W większości przypadków można powiedzieć coś w stylu „kupiłem domenę” lub „nasze zdjęcia są hostowane w innej witrynie”, nawet jeśli nie jest to do końca prawda. W niektórych kontekstach konieczne jest jednak podanie dokładniejszych informacji. Na przykład w przypadku plików cookie musisz wiedzieć, jaka jest różnica między witrynąźródłem.

Nazwy części adresu URL są określone w standardzie, który definiuje też interfejs API JavaScript:

  • Standard adresów URL definiuje adresy URL i powiązane z nimi pojęcia, aby umożliwić inżynierom tworzenie interoperacyjnych przeglądarek internetowych.
  • Komponent URL API tego standardu definiuje metody zapewniające dostęp do części ciągu adresu URL, takie jak schemat czy źródło.

Ten dokument wyjaśnia różne terminy używane w przypadku ciągów adresów URL HTTP lub HTTPS. Nie dotyczy to innych typów adresów URL, takich jak adresy URL plików czy danych. W przypadku terminów takich jak hostorigin dokładne definicje są z natury skomplikowane, dlatego w tym dokumencie znajdziesz przykłady i linki do standardu adresów URL zamiast pełnych wyjaśnień.

Za pomocą JavaScript możesz pobierać nazwy komponentów adresu URL zdefiniowanych przez interfejs URL API. Na przykład:

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

Analizator adresów URL

Aby zobaczyć, jak nazywają się poszczególne części adresu URL, edytuj adres URL poniżej. Możesz też otworzyć tę stronę w osobnej karcie na stronie url-parts.glitch.me.


Nazwy części adresu URL są podane poniżej w kolejności alfabetycznej.

domena krajowa najwyższego poziomu (ccTLD);

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

  • W przypadku https://example.org.au domeną ccTLD jest au.
  • W przypadku https://example.io domeną ccTLD jest io.

Nazwa domeny

Części adresu URL HTTP lub HTTPS rozdzielone kropkami: wszystko po schemacie, ale przed ścieżką lub portem (jeśli są określone). 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

Skuteczna domena najwyższego poziomu (eTLD)

wpis na liście publicznych sufiksów, w tym TLD i(w przypadku domen eTLD z większą liczbą części) dodatkowe domeny niższego poziomu: drugiego, trzeciego itd.

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

„Sufiks publiczny”, jak w tych przykładach, to nazwa, pod którą można zarejestrować domenę. Lista domen publicznych to lista wszystkich znanych domen publicznych, która jest często aktualizowana. Przeglądarki, w tym ChromiumFirefox, używają tej listy w swoich wersjach.

eTLD+1

Zobacz domeny, które można zarejestrować.

eTLD oraz poprzedzająca ją subdomena.

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

Nazwa pliku

Nie jest zdefiniowany w standardzie adresów URL i nie należy do interfejsu API adresów URL, ale jest często używany w odniesieniu do końcowej części adresu URL, która nie jest ścieżką, na podstawie często błędnego założenia, że adres URL jest mapowany bezpośrednio na strukturę katalogu.

Na przykład w przypadku pola https://example.com/dir/file.html pole file.html może być nazywane nazwą pliku.

Wartość nazwy pliku jest też używana przez przeglądarki do nadawania nazwy zasobom po ich pobraniu. Na przykład https://example.com/images/image.jpg jest zwykle zapisywane lokalnie jako image.jpg.

Fragment

ciąg znaków po znaku # na końcu adresu URL, który zawiera identyfikator fragmentu.

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

Część zawierająca # to hasz lub kotwica. Możesz też utworzyć 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 strony internetowej lub serwera, który jest mapowany na adres IP.

URL Pełna i jednoznaczna nazwa domeny
https://example.com:1234/cats example.com
https://api.example.github.io api.example.github.io

Adres FQDN adresu URL nie zawiera portu, nawet jeśli używany jest port inny niż domyślny.

Hash (lub kotwica)

Ciąg znaków po znaku # na końcu adresu URL, który zawiera identyfikator fragmentu.(W niektórych kontekstach jest on nazywany „kotwicą”).

Część z wyłączeniem # to fragment. Możesz też utworzyć 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 adresów URL hostem może być nazwa domeny, adres IP w wersji 4, adres IPv6, nieprzejrzysty host lub pusty host.

  • Definicja host w standardzie adresów URL nie uwzględnia portu.
  • URL.host zawiera port, chyba że jest to port domyślny dla schematu.
  • URL.hostname nie obejmuje 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 zdefiniowana przez interfejs API JavaScript URL, ale nie jest zdefiniowana nigdzie indziej przez standard adresów URL. Więcej informacji znajdziesz w sekcji Reprezentacja hosta.

URL.hostname zwraca host bez port.

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 adresów URL określa origin i odwołuje się do standardu HTML w przypadku tła.

W przypadku adresów URL HTTP lub HTTPS funkcja URL.origin zwraca schemat, host i port (chyba że port jest domyślny dla danego schematu).

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 parametry wyszukiwania

Hasło

Nazwa użytkownika

Nazwa ścieżki

W przypadku adresu URL HTTP lub HTTPS część po domenie i porcie (jeśli są zdefiniowane), w tym filename (jeśli jest 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

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

Port

Numer po : w adresie URL, który 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ą liczbą bez znaku, 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 adresu URL HTTPS – 443. Adres URL nie musi zawierać numeru portu, chyba że jest używany port inny niż domyślny.

Jeśli port jest domyślny dla schematu, interfejs API zwraca pusty ciąg.

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, po którym następuje : (na przykład http: lub https:).

Funkcja protocol jest dostępna w interfejsie URL API, ale scheme nie.

Zapytanie (czyli „ciąg zapytania”)

Część adresu URL search (bez wiodącego znaku ?).

Domena możliwa do zarejestrowania

  • W przypadku adresu URL z eTLD w jednej części, np. com lub org (czyli domeną najwyższego poziomu, która odpowiada domenie najwyższego poziomu), domena i domena drugiego poziomu przed nią: na przykład example.com lub example.org.
  • W przypadku adresu URL z 2-częściową domeną najwyższego poziomu (eTLD), w której dozwolona jest tylko rejestracja na 3 poziomie (czyli wpisy na liście domen publicznych, takie jak com.augithub.io), należy podać 2-częściową domenę najwyższego poziomu („dopełnienie domeny publicznej”) oraz nazwę domeny na 3 poziomie tuż przed nią. Na przykład: example.org.au lub example.github.io.
  • W przypadku eTLD z 3 lub więcej częściami: eTLD i domena bezpośrednio po nim.

[język] Scheme

Część adresu URL (przed ://), która określa protokół sieciowy (lub działanie, które ma wykonać klient użytkownika), gdy wysyłana jest prośba o adres URL. Na przykład żądanie adresu URL z schematem https powinno być wysyłane przy użyciu protokołu HTTPS. W przypadku żądania do adresu URL o schemacie takim jak file, mailto lub git, który nie odpowiada protokołowi sieci, zachowanie zależy od klienta użytkownika. Gdy użytkownik kliknie link mailto, większość przeglądarek otworzy domyślną aplikację poczty e-mail, korzystając z wartości w adresie URL href linku.

Znak zapytania poprzedzający serię par klucz-wartość, które reprezentują parametry i ich wartości podane po 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 lub „ciąg znaków zapytania” to search bez wiodącego ?.

Zobacz też Parametry wyszukiwania.

Parametry wyszukiwania

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

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

Domena drugiego poziomu

Domena przed domeną najwyższego poziomu.

  • W przypadku adresu URL https://www.example.com domeną drugiego poziomu jest example.com, która jest subdomeną domeny 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 jest domeną podrzędną domeny au, a example.org.au jest domeną podrzędną do domeny org.au.

Witryna

Witryna jest definiowana przez standard HTML, a także w ramach tej samej witryny, która obejmuje schematw ramach tej samej witryny bez schematu.

W standardzie adresów URL ani w interfejsie JavaScript URL API nie jest zdefiniowana strona.

W tym kontekście:

  • W przypadku adresu URL HTTP lub HTTPS z jednoczęściowym eTLD, np. https://example.com, witryna składa się z scheme, eTLD i etykiety. Przykład: w przypadku adresu URL https://www.example.com/cat witryną jest https://example.com. (w przypadku tego adresu URL domena eTLD jest taka sama jak domena najwyższego poziomu).
  • W przypadku eTLD składających się z wielu części, takich jak co.uk, github.io lub sa.edu.au, „witryna” składa się z scheme, eTLD i etykiety. Na przykład w przypadku adresu URL https://cat.example.co.uk/tabby witryną jest https://example.co.uk, a w przypadku https://www.education.sa.gov.au – https://education.sa.gov.au.
URL Witryna (z schematem i domeną eTLD+1)
https://cat.example.com/tabby ("https", "example.com")
https://cat.example.co.uk/tabby ("https", "example.co.uk")

W przeciwieństwie do origin, site nie zawiera port.

Subdomena

Domena w domenie wyższego poziomu.

W przypadku witryn z domenami najwyższego poziomu składającymi się z jednej części, np. com lub org, części przed domeną najwyższego poziomu, z których każda jest oddzielona kropką.

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

W przypadku domen eTLD składających się z 2 części, w których dozwolone są tylko rejestracje na 3 poziomie(czyli wpisy na liście domen publicznych, takie jak co.ukgithub.io), subdomeny to części nazwy domeny, które poprzedzają te domeny.

  • Przykład: cat.example.co.uk jest subdomeną domeny example.co.uk.

Fragment tekstu

Typ fragmentu, który umożliwia dodanie linku do określonego fragmentu tekstu na stronie i jego wyróżnienie. Gdy użytkownik kliknie link do fragmentu tekstu, przeglądarka spróbuje go odnaleźć, przewinąć do niego i podświetlić.

Fragment tekstu zaczyna się od :~:text=, a następnie następuje w nim wyszukiwane hasło.

Jeśli na przykład chcesz utworzyć link do pierwszego wystąpienia tekstu „fragment” na tej stronie, użyj adresu URL https://web.dev/articles/url-parts#:~:text=fragment.

Dowiedz się więcej: Fragmenty tekstu.

Domena najwyższego poziomu (TLD)

nazwę domeny wymienioną w bazie danych strefy głównej, np. 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 rozszerzenie domeny najwyższego poziomu to nazwa domeny, która następuje po ostatniej kropce.

  • W przypadku adresu https://example.org domena najwyższego poziomu to org.
  • W przypadku adresu https://example.org.au domena najwyższego poziomu to au, a org jest domeną drugiego poziomu (chociaż org jest też domeną najwyższego poziomu). org.au to eTLD składający się z 2 części.

Lista publicznych sufiksów eTLD zawiera domeny z jedną, 2 lub większą liczbą części, więc TLD może być też eTLD. Na przykład:

  • W przypadku adresu https://example.com eTLD to com, który jest też domeną najwyższego poziomu.

Nazwa użytkownika

Na początku adresu URL można podać opcjonalną nazwę użytkownika i hasło, ale ta funkcja została wycofana z powodów bezpieczeństwa i w wielu przypadkach zostanie zignorowana.

Na przykład w przypadku https://user123:password1@example.com nazwa użytkownika to user123. Pamiętaj, że nazwa użytkownika (i hasło!) są w postaci zwykłego tekstu, a nie zaszyfrowane. Jeśli nazwa użytkownika zawiera symbole : lub @, muszą one zostać zakodowane na potrzeby adresu URL odpowiednio na %3A i %40.


Więcej informacji