天天看點

關于URL組成部分的指南

原文位址:Talk like a Googler: parts of a url

作者:Matt Cutts Google反垃圾網站組的帶頭人

讓我們來解剖一個 URL 的所有部分。我将告訴你,在 Google 通常所涉及的分别指 URl 的哪些不同部分 。這是一個有效的 URL,并包含很多元素:

video.google.co.uk:80/videoplay?docid=-7246927612831078230&hl=en#00h02m30s

以上 URL 的組成元素分解:

傳輸協定是:http,類似的協定還包含:https,ftp, etc。

主機或主機名:video.google.co.uk 。

子域名是:video。

域名是:google.co.uk。

頂級域名(TLD)是:uk。uk 指的是國家頂級域名(ccTLD)。比如:google.com 其中頂級域名是 com。

二級域名(SLD)是:com.uk。

端口:80,這是 web 伺服器的預設端口。其他的端口也是允許的,比如:web 伺服器還可以聽端口8000。當端口是80 時,很多人放空不寫。

路徑:/videoplay。路徑通常指一個檔案或 web 伺服器上的一個位置。如:/directory/file.html 。

以上 URL 包含參數。參數名字是 docid,參數的值是-7246927612831078230。URLs 可以有很多參數。參數以問号(?)開始,以(&)隔開。

看到了“#00h02m30s”了嗎?這稱為一個字元串或一個命名錨鍊。字元串過去通常指網頁檔案中的一個内部片段。在這個例子中,這個命名錨鍊的意思是“2分30秒後跳轉到視訊”。我現在想起來,Google 通過移除字元串以實作 URL 标準化。

什麼是靜态 URL 或動态 URL?技術上,我們認為靜态 URL 指的是伺服器傳回一個頁面時不需要進行任何資料庫操作。動态 URL 指,在傳回頁面之前,伺服器需要進行相應的運算。

一些人通過問一個問題來簡單差別靜态 URL和動态 URL:“這個URL 中有沒有問号(?)”。如果有問号,則一般認為是動态 URL;相反,則一般是靜态 URL。當然,這不是一個硬性而有效的規則。比如

https://www.fgba.net/forum-51-1.html

,這個URL看起來像是靜态的,但它卻需要web伺服器來處理。