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.au
domeną ccTLD jestau
. - 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 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#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 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 ś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
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 („dopełnienie domeny publicznej”) 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 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=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 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/cat
witryną 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.io
lubsa.edu.au
, „witryna” składa się zscheme
, eTLD i etykiety. Na przykład w przypadku adresu URLhttps://cat.example.co.uk/tabby
witryną 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.com
to subdomena domenyexample.com
.support.api.example.org
jest 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.uk
jest 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.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 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