即使並非完全正確,你通常還是可以說「我買了網域」或「我們的圖片代管在其他網站」。不過,在某些情況下,必須更精確地指出。舉例來說,處理 Cookie 時,您需要瞭解「網站」和「來源」之間的差異。
網址部分的名稱是在標準中指定,該標準也定義了 JavaScript API:
本文說明與 HTTP 或 HTTPS 網址字串相關的各種術語。本文不涵蓋其他類型的網址,例如檔案或資料網址。對於 host 和 origin 等字詞,準確的定義本質上很複雜,因此本文提供網址標準的範例和連結,而非嘗試完整說明。
您可以使用 JavaScript 取得網址 API 定義的網址元件名稱。例如:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
網址分析工具
編輯下方網址,瞭解網址字串各部分的命名方式。 你也可以在另一個分頁中開啟這個網址: https://chrome.dev/url-parts/。
網址部分的名稱如下所列 (依字母順序排列)。
國家/地區代碼頂層網域 (ccTLD)
網域名稱
以半形句號分隔的 HTTP 或 HTTPS 網址部分:架構之後的所有內容,但須位於路徑或通訊埠 (如有指定) 之前。網域名稱的每個部分都稱為「標籤」。
| 網址 | 網域名稱 |
|---|---|
| https://example.github.io/path | example.github.io |
| https://support.example.org.au:443 | support.example.org.au |
有效頂層網域 (eTLD)
公開後置字串清單中的項目,包括TLD,以及 (適用於有多個部分的有效頂層網域) 該網域下方的其他網域:第二層、第三層等。
- 例如:
com、com.au、github.io、sa.edu.au、schools.nsw.edu.au。
「公用字尾」是可註冊網域的名稱,例如:Public Suffix List 包含所有已知的公開後置字串,且會定期更新。包括 Chromium 和 Firefox 在內的瀏覽器,都會在建構時使用這份清單。
eTLD+1
請參閱「可註冊網域」。
eTLD,加上其前面的子網域。
- 例如:
example.com、example.org.au、example.github.io、example.sa.edu.au、example.schools.nsw.edu.au。
檔案名稱
未在網址標準中定義,也不是網址 API 的一部分,但通常用於根據 (通常不正確的) 假設,指稱網址的最終部分 (非路徑),即網址直接對應至目錄結構。
舉例來說,使用 https://example.com/dir/file.html 時,file.html 可能會稱為檔案名稱。
如果下載素材資源,瀏覽器也會使用檔案名稱值為素材資源命名。
舉例來說,https://example.com/images/image.jpg 通常會儲存至本機的 image.jpg。
片段
網址結尾 # 字元後方的字串,可提供片段 ID。
- 舉例來說,網址
https://example.com/cats#tabby的片段 ID 值為tabby。
包含 # 的部分稱為「雜湊」或錨點。
你也可以連結並醒目顯示文字片段。
雜湊是由 URL API 傳回,而非片段。
完整網域名稱 (FQDN)
網站或伺服器的完整地址,對應至 IP 位址。
| 網址 | FQDN |
|---|---|
| https://example.com:1234/cats | example.com |
| https://api.example.github.io | api.example.github.io |
網址的 FQDN 不會包含通訊埠,即使使用非預設通訊埠也一樣。
雜湊 (或錨點)
網址結尾 # 字元後方的字串,可提供片段 ID。(在某些情況下,這稱為「錨點」)。
不含 # 的部分稱為「片段」。
你也可以連結並醒目顯示文字片段。
雜湊是由 URL API 傳回,而非片段。
主機
如 URL 標準所定義,主機可以是網域名稱、IPv4 位址、IPv6 位址、不透明主機或空白主機。
- 網址標準的
host定義不包含通訊埠。 URL.host包含通訊埠,除非通訊埠是該配置的預設通訊埠。URL.hostname不含通訊埠。
| 網址 | 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 |
主機名稱
主機名稱是由 JavaScript URL API 定義,但網址標準並未在其他地方定義。詳情請參閱主機表示法。
URL.hostname 會傳回 host,但不含 port。
| 網址 | 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 |
來源
網址標準定義origin,並連結至HTML 標準,以提供背景資訊。
如果是 HTTP 或 HTTPS 網址,URL.origin 會傳回配置、主機和通訊埠 (除非通訊埠是配置的預設值)。
| 網址 | 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 |
參數
請參閱搜尋參數
密碼
請參閱使用者名稱。
路徑名稱
如果是 HTTP 或 HTTPS 網址,則為網域和通訊埠 (如有定義) 後方的部分,包括filename (如有定義),但不包括搜尋字串或雜湊。
| 網址 | 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 |
有時「路徑」是指不含檔案名稱的路徑名稱。舉例來說,網址 https://example.com/cat/pattern/tabby.html 的「路徑」為 /cat/pattern。
通訊埠
網址中 : 後方的數字,用於識別網路通訊埠。舉例來說,網址 https://example.com:1234/tabby 的通訊埠號碼為 1234。
通訊埠編號必須是16 位元不帶正負號的整數,也就是介於 0 至 65535 之間的整數 (含首尾)。
HTTP 網址的預設通訊埠為 80,HTTPS 網址的預設通訊埠為 443。除非使用非預設通訊埠,否則網址不需要指定通訊埠號碼。
如果通訊埠是該配置的預設通訊埠,API 會傳回空字串。
| 網址 | 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 |
通訊協定
通訊協定,後面接著 : (例如 http: 或 https:)。
protocol 可透過 URL API 取得,但 scheme 無法。
查詢 (或「查詢字串」)
網址的搜尋部分,不含開頭的 ?。
可註冊的網域
- 如果網址的 eTLD 只有一個部分,例如
com或org(也就是對應至 TLD 的 eTLD),則網域和其前的第二層網域就是 eTLD+1,例如example.com或example.org。 - 如果網址的 eTLD 由兩部分組成,且只允許註冊第三層網域 (即 Public Suffix List 中的項目,例如
com.au和github.io),則為兩部分組成的頂層網域 (「公開尾碼」) 和緊接在前的第三層網域名稱。例如:example.org.au或example.github.io。 - 如果 eTLD 包含三個以上的部分,則為 eTLD 和其前方的網域。
架構
網址中定義網路通訊協定 (或使用者代理程式要採取的動作) 的部分 (:// 前),會在向網址發出要求時使用。舉例來說,如果要求傳送至採用 https 配置的網址,就應使用 HTTPS 通訊協定。如果對具有 file、mailto 或 git 等配置的網址提出要求,但該配置不對應網路通訊協定,則行為會因使用者代理程式而異。舉例來說,當使用者點選 mailto 連結時,大多數瀏覽器會使用連結 href URL 中的值,開啟預設的電子郵件應用程式。
搜尋
問號後方會接續一連串的鍵/值組合,代表參數及其值,這些資訊會提供在 pathname 之後。
| 網址 | URL.search |
|---|---|
| https://example.com/cats?pattern=tabby&mood=bonkers | ?pattern=tabby&mood=bonkers |
| https://example.com/cats:443?pattern=tabby | ?pattern=tabby |
query 或「查詢字串」是指 search,但不含開頭的 ?。
另請參閱搜尋參數。
搜尋參數
參照搜尋字串 (或「查詢字串」) 中傳遞的資料項目。
- 舉例來說,對於
https://example.com/cats?pattern=tabby&mood=bonkers,搜尋字串有兩個參數:pattern=tabby和mood=bonkers。
第二層網域
頂層網域前的網域。
以網址「
https://www.example.com」為例,第二層網域是「example.com」,也就是頂層網域「com」的子網域。以
https://example.org.au為例,頂層網域是au,第二層網域是org,第三層網域則是example。在本例中,org.au是au的子網域,而example.org.au是org.au的子網域。
網站
網站是由 HTML 標準定義,與相同網站 (包括架構) 和無架構的相同網站一併定義。
網址標準或 JavaScript 網址 API 中未定義網站。
在此情況下:
- 如果 HTTP 或 HTTPS 網址含有單一部分的 eTLD,例如
https://example.com,則該網站由scheme、eTLD 和之前的標籤組成。舉例來說,網址https://www.example.com/cat的網站為https://example.com。(這個網址的 eTLD 與頂層網域相同)。 - 如果是多部分 eTLD,例如
co.uk、github.io或sa.edu.au,「網站」會包含scheme、eTLD 和之前的標籤。 舉例來說,網址https://cat.example.co.uk/tabby的網站是https://example.co.uk,而網址https://www.education.sa.gov.au的網站是https://education.sa.gov.au。
| 網址 | 網站 (含配置和 eTLD+1) |
|---|---|
| https://cat.example.com/tabby | ("https", "example.com") |
| https://cat.example.co.uk/tabby | ("https", "example.co.uk") |
子網域
高階網域中的網域。
如果網站的頂層網域只有一個部分 (例如 com 或 org),則為頂層網域前的部分,各部分以半形句號分隔。
- 「
www.example.com」是「example.com」的子網域。 support.api.example.org是api.example.org的子網域,而api.example.org則是example.org的子網域。
如果是只允許註冊第三層的兩部分 eTLD(即公開尾碼清單中的項目,例如 co.uk 和 github.io),子網域就是網域名稱中位於該項目之前的部分。
- 例如:
cat.example.co.uk是example.co.uk的子網域。
文字片段
這是一種片段,可連結至網頁中的一段文字並醒目顯示。使用者點選含有文字片段的連結時,瀏覽器會嘗試找出網頁中的文字、捲動至該處並醒目顯示。
文字片段的開頭為 :~:text=,後方接著搜尋字詞。
舉例來說,如要連結至這個網頁上第一次出現的「片段」文字,請使用網址 https://web.dev/articles/url-parts#:~:text=fragment。
詳情請參閱「文字片段」。
頂層網域 (TLD)
列於根區域資料庫中的網域名稱,例如 com 或 org。部分頂層網域是國家/地區代碼頂層網域,例如 uk 和 tv。
說明 HTTP 或 HTTPS 網址的各個部分時,TLD 是最後一個點後方的網域名稱。
- 以「
https://example.org」為例,網址的頂層網域是「org」。 - 以「
https://example.org.au」為例,網址的頂層網域是「au」,而「org」是第二層網域 (即使「org」也是頂層網域)。org.au是由兩部分組成的 eTLD。
eTLD 的公開尾碼清單包含一、二或多個部分的網域,因此 TLD 也可以是 eTLD。例如:
- 以
https://example.com為例,網址的 eTLD 為com,這也是 TLD。
使用者名稱
網址開頭可選擇性提供使用者名稱和密碼,但基於安全考量,這項做法已遭淘汰,在許多情況下會遭到忽略。
舉例來說,如果電子郵件是 https://user123:password1@example.com,則使用者名稱就是 user123。請注意,使用者名稱 (和密碼!) 是以純文字形式顯示,並未經過加密。
如果使用者名稱包含 : 或 @ 符號,則必須分別進行網址編碼,轉換為 %3A 和 %40。
瞭解詳情
- WHATWG:URL Living Standard
- WHATWG:HTML 實時標準
- 網址 API
- 瞭解「同網站」和「同來源」
- RFC:統一資源定位器 (URL)
- RFC:URI、URL 和 URN
- 根區域資料庫 (頂層網域目錄)
- Public Suffix List (eTLDs 目錄:「公開後置字串是一組以點串連的 DNS 名稱或萬用字元。代表網域名稱中不受個別註冊者控管的部分。")
- ICANN 詞彙表
- 什麼是完整網域名稱?
- 您可以用幾種方式將網址切開並命名?
- MDN 網路文件詞彙表
- 什麼是網址?
- 網址記錄