在多數情況下,即使不是嚴格內容,也還是可以說「我購買了網域」或「我們的圖片是儲存在不同的網站」等。然而,在某些情況下必須更加精確。舉例來說,處理 Cookie 時,您需要瞭解「網站」和「來源」之間的差異。
網址部分的名稱是在標準中指定,其也會定義 JavaScript API:
本文件說明與 HTTP 或 HTTPS 網址字串搭配使用的一系列術語。本文未涵蓋其他類型的網址,例如檔案或資料網址。以 host
和 origin
等術語來說,準確的定義本身就很複雜,因此本文件會提供網址標準的範例和連結,而非嘗試完整說明。
您可以使用 JavaScript 取得 URL API 定義的網址元件名稱。例如:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
網址分析工具
編輯下方網址,即可查看部分網址字串的命名方式。 您也可以在 url-parts.glitch.me 的另一個分頁開啟此分頁。
網址部分的名稱依字母順序列於下方。
國家/地區代碼頂層網域 (ccTLD)
網域名稱
HTTP 或 HTTPS 網址的部分,以半形句號分隔:配置之後、path 或 port 之前的所有內容 (如有指定)。網域名稱的每個部分稱為一個「標籤」。
網址 | 網域名稱 |
---|---|
https://example.github.io/path | example.github.io |
https://support.example.org.au:443 | support.example.org.au |
有效頂層網域 (eTLD)
公開尾碼清單中的項目,包括以下的 TLD 和具有多個部分的 eTLD) 其他網域,也就是第二層、第三層等。
- 例如:
com
、com.au
、github.io
、sa.edu.au
、schools.nsw.edu.au
。
「公開尾碼」(例如以下範例) 是可以註冊網域的一個名稱。公開尾碼清單會列出所有已知的公開尾碼清單,且經常更新。Chromium 和 Firefox 等瀏覽器會在建構中使用這份清單。
eTLD+1
請參閱可註冊的網域。
「eTLD」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
中。
Fragment
提供片段 ID 的網址結尾 # 字元後的字串。
- 例如:網址
https://example.com/cats#tabby
的片段 ID 值為tabby
。
包含 #
的部分稱為雜湊或錨點。您也可以連結至並醒目顯示文字片段。
雜湊是由網址 API 傳回,而非片段。
完整網域名稱 (FQDN)
網站或伺服器的完整位址,可對應至 IP 位址。
網址 | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
即使使用非預設通訊埠,網址的 FQDN 也不會包含通訊埠。
雜湊 (或錨點)
在網址結尾由 # 字元後的字串,系統會提供片段 ID (在部分情境中,這稱為「錨點」)。
排除 #
的部分稱為片段。您也可以連結至並醒目顯示文字片段。
雜湊是由網址 API 傳回,而非片段。
主機
如網址標準所定義,主機可以是網域名稱、IP v4 位址、IPv6 位址、不透明主機或空白主機。
- 網址標準的
host
定義不包含 port。 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
會傳回不含 port 的 host。
網址 | 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 網址,請提供網域和通訊埠之後的部分 (如果已定義),包括檔案名稱 (如果已定義),但不含搜尋字串或雜湊。
網址 | 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 |
「Path」有時用來表示不含檔案名稱的路徑名稱。以 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)、網域和第二層網域 (例如example.com
或example.org
)。 - 如果網址包含兩個部分 eTLD,而且只允許進行第三層註冊 (也就是公開尾碼清單中的項目,例如
com.au
和github.io
),兩個部分的頂層網域 (「公開尾碼」) 以及第三部分頂層網域名稱。例如example.org.au
或example.github.io
。 - 如為包含三個以上部分的 eTLD,則是指 eTLD 和網域之前的 eTLD。
架構
網址中 (://
之前) 的部分,用於定義在對網址提出要求時,用來定義網路通訊協定 (或使用者代理程式要執行的動作)。舉例來說,對採用 https
配置的網址提出要求時應使用 HTTPS 通訊協定。假如要求向網址採用的配置不對應網路通訊協定,例如 file
、mailto
或 git
,則行為取決於使用者代理程式。舉例來說,當使用者點選 mailto
連結時,大多數的瀏覽器都會使用連結的 href
網址中的值開啟預設電子郵件應用程式。
搜尋
問號後面加上一系列代表參數及其值的鍵/值組合 (在「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 URL 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
的子網域,是example.org
的子網域。
針對只有第三部分的 eTLD,也就是只允許第三部分註冊的情況(也就是公開尾碼清單中的項目,例如 co.uk
和 github.io
),子網域是網域名稱之前的部分。
- 例如:
cat.example.co.uk
是example.co.uk
的子網域。
文字片段
一種片段,可讓系統連結並醒目顯示頁面上的一段文字。當使用者透過文字片段追蹤連結時,瀏覽器會嘗試尋找、捲動並醒目顯示網頁上的文字。
文字片段的開頭是 :~:text=
,後面接著搜尋字詞。
舉例來說,如要連結至本頁面中第一次出現「Fragment」文字的情況,請使用網址 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 Living Standard
- URL API
- 瞭解「相同網站」和「相同來源」
- RFC:統一資源定位器 (網址)
- RFC:URI、網址和 URN
- 根區域資料庫 (TLD 的目錄)
- 公開後置字串清單 (eTLDs 的目錄:「公開後置字串」是一組 DNS 名稱或萬用字元,以點串連)。代表網域名稱的一部分,不受個別註冊者的控制。」)
- ICANN 詞彙
- 什麼是完整網域名稱?
- 有多少方式可以切割網址並為其命名?
- MDN 網路文件詞彙表
- 什麼是網址?
- 網址歷史記錄