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 toau
. - W przypadku usługi
https://example.io
domena ccTLD toio
.
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ścitabby
.
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
luborg
(czyli domeną TLD), domena i domena drugiego poziomu przed nią, na przykładexample.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
igithub.io
), dwuczęściowa domena najwyższego poziomu („publiczny sufiks”) oraz nazwa domeny trzeciego poziomu tuż przed nimi. np.example.org.au
lubexample.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.
Wyszukiwarka
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
imood=bonkers
.
Domena drugiego poziomu
Domena przed domeną najwyższego poziomu.
W przypadku adresu URL
https://www.example.com
domena drugiego poziomu toexample.com
, czyli subdomena 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
to subdomena domenyau
, aexample.org.au
to subdomena domenyorg.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 elementuscheme
, eTLD oraz etykiety. Na przykład: w przypadku adresu URLhttps://www.example.com/cat
witryna tohttps://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
czysa.edu.au
, „witryna” składa się z elementówscheme
, eTLD oraz etykiety. Na przykład w przypadku adresu URLhttps://cat.example.co.uk/tabby
witryna tohttps://example.co.uk
, a w przypadku adresuhttps://www.education.sa.gov.au
witryna tohttps://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 domenyexample.com
.support.api.example.org
to subdomena domenyapi.example.org
, która jest subdomeną domenyexample.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 domenyexample.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 toorg
. - W przypadku
https://example.org.au
domena najwyższego poziomu adresu URL toau
, aorg
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 tocom
, 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
- WhatWG: URL Living Standard
- WhatWG: HTML Living Standard
- Interfejs URL API
- Interpretacja definicji „sama witryna” i „ta sama witryna”
- Dokument RFC: Uniform Resource Locators (URL)
- RFC: identyfikatory URI, adresy URL i URN
- Root Zone Database (katalog domen najwyższego poziomu)
- Lista publicznych domen (katalog eTLDs: „Publiczny sufiks to zestaw nazw DNS lub symboli wieloznacznych łączonych z kropkami). Reprezentuje część nazwy domeny, która nie jest kontrolowana przez poszczególnych abonentów”.
- Glosariusz ICANN
- Co to jest pełna i jednoznaczna nazwa domeny?
- Na ile sposobów pokroić adres URL i nadać kawałkom nazwy?
- Słowniczek dokumentów internetowych MDN
- Co to jest adres URL?
- Historia adresu URL