W większości przypadków wystarczy powiedzieć „kupiłem domenę” czy „Nasze zdjęcia są przechowywane w innej witrynie”, nawet jeśli nie jest to prawda. W niektórych kontekstach konieczne jest jednak podanie dokładniejszych informacji. Jeśli np. zajmujesz się plikami cookie, musisz wiedzieć, na czym polega różnica między site a origin.
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, które umożliwiają inżynierom tworzenie współdziałających przeglądarek.
- Komponent URL API standardu określa metody zapewnienia dostępu do części ciągu znaków adresu URL, takich jak schemat lub origin.
Ten dokument wyjaśnia różne terminy używane w przypadku ciągów znakó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 host
i origin
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
Zmień URL poniżej, aby zobaczyć, jak nazywają się części jego ciągu. Możesz go też otworzyć na 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 domeny
https://example.org.au
domena ccTLD toau
. - W przypadku
https://example.io
domeną ccTLD jestio
.
Nazwa domeny
Części adresu URL HTTP lub HTTPS rozdzielone kropkami: wszystko 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 |
Skuteczna domena najwyższego poziomu (eTLD)
wpis na liście domen publicznych obejmujący TLD oraz(w przypadku domen eTLD z wieloma częściami) dodatkowe domeny poniżej domeny: drugiego poziomu, trzeciego poziomu itd.
- Przykłady:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
Tak jak w poniższych przykładach, „sufiks publiczny” to nazwa, pod którą można zarejestrować domeny. Lista domen publicznych to lista wszystkich znanych domen publicznych, która jest często aktualizowana. Przeglądarki takie jak Chromium i Firefox używają listy w swoich kompilacjach.
eTLD+1
Zobacz domeny, które można zarejestrować.
eTLD i następującą ją subdomenę.
- 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 stanowi identyfikator fragmentu.
- Na przykład: adres URL
https://example.com/cats#tabby
ma wartość fragmentu identyfikatoratabby
.
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 ze standardem 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 schematu.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 zdefiniowana przez interfejs API JavaScript URL
, ale nie jest zdefiniowana nigdzie indziej przez standard adresów URL. Więcej informacji znajdziesz w artykule na temat reprezentacji 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 ścieżki
W przypadku adresu URL HTTP lub HTTPS część po domenie i porcie (jeśli są zdefiniowane), w tym nazwa pliku (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 |
Czasem słowo „Ścieżka” odnosi się do nazwy ś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 domeną najwyższego poziomu w jednej części, np.
com
luborg
(czyli domeną najwyższego poziomu, która odpowiada domenie najwyższego poziomu), domena i domena drugiego poziomu przed nią: na przykładexample.com
lubexample.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.au
igithub.io
), należy podać 2-częściową domenę najwyższego poziomu („sufiks publiczny”) oraz nazwę domeny na 3 poziomie tuż przed nią. Na przykład:example.org.au
lubexample.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 dotyczące 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.
Szukaj
Znak zapytania, po którym następuje seria par klucz-wartość reprezentujących parametry i ich wartości podawane po ścieżce dostępu.
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 search
bez początkowego ?
.
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=tabby
imood=bonkers
.
Domena drugiego poziomu
Domena przed domeną najwyższego poziomu.
W przypadku adresu URL
https://www.example.com
domeną drugiego poziomu jestexample.com
, która jest subdomeną domeny najwyższego poziomucom
.W przypadku
https://example.org.au
domena najwyższego poziomu toau
, domena drugiego poziomu toorg
, a domena trzeciego poziomu toexample
. W tym przykładzieorg.au
jest domeną podrzędną domenyau
, aexample.org.au
jest domeną podrzędną do domenyorg.au
.
Witryna
Witryna jest definiowana przez standard HTML, a także w ramach tej samej witryny, która obejmuje schemat i w ramach tej samej witryny bez schematu.
W standardzie adresów URL ani w interfejsie JavaScript URL API nie jest zdefiniowany parametr site.
W tym kontekście:
- W przypadku adresu URL HTTP lub HTTPS z jednoczęściowym eTLD, np.
https://example.com
, witryna składa się zscheme
, eTLD i etykiety. Przykład: w przypadku adresu URLhttps://www.example.com/cat
witryną jesthttps://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
lubsa.edu.au
, „witryna” składa się z elementówscheme
, eTLD i wcześniejszej etykiety. Na przykład: dla adresu URLhttps://cat.example.co.uk/tabby
witryna tohttps://example.co.uk
, a witrynahttps://www.education.sa.gov.au
tohttps://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 należąca do domeny 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 domenyexample.com
.support.api.example.org
jest subdomeną domenyapi.example.org
, która jest subdomeną domenyexample.org
.
W przypadku dwuczęściowych domen eTLD, w których dozwolone są tylko rejestracje trzeciego poziomu(np. pozycje na liście domen publicznych, takich jak co.uk
i github.io
), subdomeny są elementami składowymi nazwy domeny poprzedzającej jej adres.
- Na przykład:
cat.example.co.uk
jest subdomeną domenyexample.co.uk
.
Fragment tekstu
Typ fragmentu, który umożliwia podświetlenie zakresu tekstu w obrębie strony i tworzenie linku do niego. 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 toorg
. - W przypadku adresu
https://example.org.au
domena najwyższego poziomu toau
, aorg
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 tocom
, 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 jest ignorowana.
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
- WHATWG: URL Living Standard
- WHATWG: HTML Living Standard
- URL API
- Znaczenie terminów „ten sam zasób” i „ten sam element”
- RFC: Ujednolicony format adresowania zasobów (Uniform Resource Locator, URL)
- RFC: identyfikatory URI, URL i URN
- Root Zone Database (katalog domen najwyższego poziomu)
- Lista domen publicznych (katalog eTLDs: „Publiczny sufiks to zbiór nazw DNS lub symboli wieloznacznych połączonych z kropkami. Reprezentuje część nazwy domeny, która nie podlega kontroli indywidualnego rejestrującego.
- Słownik ICANN
- Co to jest pełna i jednoznaczna nazwa domeny?
- Ile sposobów na podzielenie adresu URL i nazwanie jego części?
- Glosariusz internetowy MDN
- Co to jest adres URL?
- Historia adresu URL