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ą a ź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 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
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.audomeną ccTLD jestau. - W przypadku
https://example.iodomeną ccTLD jestio.
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 Chromium i Firefox, 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#tabbyma 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 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
hostw standardzie adresów URL nie uwzględnia portu. URL.hostzawiera port, chyba że jest to port domyślny dla schematu.URL.hostnamenie 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 ś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.
comluborg(czyli domeną najwyższego poziomu, która odpowiada domenie najwyższego poziomu), domena i domena drugiego poziomu przed nią: na przykładexample.comlubexample.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.auigithub.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.aulubexample.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.
Szukaj
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=bonkersciąg wyszukiwania zawiera 2 parametry:pattern=tabbyimood=bonkers.
Domena drugiego poziomu
Domena przed domeną najwyższego poziomu.
W przypadku adresu URL
https://www.example.comdomeną drugiego poziomu jestexample.com, która jest subdomeną domeny najwyższego poziomucom.W przypadku
https://example.org.audomena najwyższego poziomu toau, domena drugiego poziomu toorg, a domena trzeciego poziomu toexample. W tym przykładzieorg.aujest domeną podrzędną domenyau, aexample.org.aujest 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 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ę zscheme, eTLD i etykiety. Przykład: w przypadku adresu URLhttps://www.example.com/catwitryną jesthttps://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.iolubsa.edu.au, „witryna” składa się zscheme, eTLD i etykiety. Na przykład w przypadku adresu URLhttps://cat.example.co.uk/tabbywitryną jesthttps://example.co.uk, a w przypadkuhttps://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.comto subdomena domenyexample.com.support.api.example.orgjest subdomeną domenyapi.example.org, która jest subdomeną domenyexample.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.uk i github.io), subdomeny to części nazwy domeny, które poprzedzają te domeny.
- Przykład:
cat.example.co.ukjest subdomeną domenyexample.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.orgdomena najwyższego poziomu toorg. - W przypadku adresu
https://example.org.audomena najwyższego poziomu toau, aorgjest domeną drugiego poziomu (chociażorgjest też domeną najwyższego poziomu).org.auto 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.comeTLD 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 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
- 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
- Baza danych strefy głównej (katalog domen najwyższego poziomu)
- Publiczna lista sufiksów (katalog eTLDs „Sufiks publiczny to zbiór nazw DNS lub symboli wieloznacznych połączonych 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 dokumentacji MDN Web Docs
- Co to jest adres URL?
- Historia adresu URL