天天看點

知其然應知其是以然--url

本文綜合維基百科 百度百科

統一資源定位符(或稱統一資源定位器/定位位址、URL位址等,英語:Uniform / Universal Resource Locator,常縮寫為URL),有時也被俗稱為網頁位址(網址)。如同在網絡上的門牌,是網際網路上标準的資源的位址(Address)。它最初是由蒂姆·伯納斯-李發明用來作為網際網路的位址。現在它已經被網際網路聯盟編制為網際網路标準RFC 1738。

在網際網路的曆史上,統一資源定位符的發明是一個非常基礎的步驟。統一資源定位符的文法是一般的,可擴充的,它使用ASCII代碼的一部分來表示網際網路的位址。統一資源定位符的開始,一般會标志着一個計算機網絡所使用的網絡協定。

統一資源定位符的标準格式如下:

協定類型://伺服器位址(必要時需加上端口号)/路徑/檔案名

統一資源定位符的日常使用

超文本傳輸協定(HTTP)的統一資源定位符将從網際網路擷取資訊的五個基本元素包括在一個簡單的位址中:
  1. 傳送協定。
  2. 伺服器。
  3. 端口号。(以數字方式表示,若為HTTP的預設值“:80”可省略)
  4. 路徑。(以“/”字元差別路徑中的每一個目錄名稱)
  5. 查詢。(GET模式的窗體參數,以“?”字元為起點,每個參數以“&”隔開,再以“=”分開參數名稱與資料,通常以UTF8的URL編碼,避開字元沖突的問題)
典型的統一資源定位符看上去是這樣的:
http://zh.wikipedia.org:80/w/index.php?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2&printable=yes
      
其中:
  1. http,是協定;
  2. zh.wikipedia.org,是伺服器;
  3. 80,是伺服器上的網絡端口号;
  4. /w/index.php,是路徑;
  5. ?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2&printable=yes,是詢問。

大多數網頁浏覽器不要求使用者輸入網頁中“http://”的部分,因為絕大多數網頁内容是超文本傳輸協定檔案。同樣,“80”是超文本傳輸協定檔案的常用端口号,是以一般也不必寫明。一般來說使用者隻要鍵入統一資源定位符的一部分(zh.wikipedia.org/wiki/Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2)就可以了。

由于超文本傳輸協定允許伺服器将浏覽器重定向到另一個網頁位址,是以許多伺服器允許使用者省略網頁位址中的部分,比如 www。從技術上來說這樣省略後的網頁位址實際上是一個不同的網頁位址,浏覽器本身無法決定這個新位址是否通,伺服器必須完成重定向的任務。

結構

基本URL包含模式(或稱協定)、伺服器名稱(或IP位址)、路徑和檔案名,如“協定://授權/ 路徑?查詢”。完整的、帶有授權部分的普通統一 資源标志符文法看上去如下:協定://使用者名:密碼@子域名.域名.頂級域名: 端口号/目錄/檔案名.檔案字尾?參數=值#标志

第一部分

模式/協定(scheme):它告訴浏覽器如何處理将要打開的檔案。最常用的模式是超文本傳輸協定(Hypertext Transfer Protocol,縮寫為HTTP),這個協定可以用來通路網絡。其他協定如下: http——超文本傳輸協定資源 https——用 安全套接字層傳送的 超文本 傳輸協定 ftp—— 檔案傳輸協定 mailto—— 電子郵件位址 ldap—— 輕型目錄通路協定搜尋 file——當地電腦或網上分享的檔案 news—— Usenet新聞討論區 gopher——Gopher協定 telnet—— Telnet協定

第二部分

檔案所在的伺服器的名稱或IP位址,後面是到達這個檔案的路徑和檔案本身的名稱。伺服器的名稱或IP位址後面有時還跟一個冒号和一個 端口号。它也可以包含接觸伺服器必須的使用者名稱和密碼。 路徑部分包含等級結構的路徑定義,一般來說不同部分之間以斜線(/)分隔。詢問部分一般用來傳送對伺服器上的資料庫進行動态詢問時所需要的參數。 有時候,URL以斜杠“/”結尾,而沒有給出檔案名,在這種情況下,URL引用路徑中最後一個目錄中的預設檔案(通常對應于首頁),這個檔案常常被稱為 index.html 或 default.htm。 分類

絕對URL

絕對URL(absolute URL)顯示檔案的完整路徑,這意味着絕對URL本身所在的位置與被引用的實際檔案的位置無關,

相對URL

相對URL(relative URL)以包含URL本身的檔案夾的位置為參考點,描述目标檔案夾的位置。如果目标檔案與目前頁面(也就是包含URL的頁面)在同一個目錄,那麼這個檔案的相對URL僅僅是檔案名和擴充名,如果目标檔案在目前目錄的子目錄中,那麼它的相對URL是子目錄名,後面是斜杠,然後是目标檔案的檔案名和擴充名。 如果要引用檔案層次結構中更高層目錄中的檔案,那麼使用兩個句點和一條斜杠。可以組合和重複使用兩個句點和一條斜杠,進而引用目前檔案所在的硬碟上的任何檔案, 一般來說,對于同一伺服器上的檔案,應該總是使用相對URL,它們更容易輸入,而且在将頁面從本地系統轉移到伺服器上時更友善,隻要每個檔案的相對位置保持不變,連結就仍然是有效地。 大小寫 統一 資源定位符一般是分大小寫的,不過伺服器 管理者可以确定在回複詢問時大小寫是否被區分。有些伺服器在收到不同大小寫的詢問時的回複是相同的。位址結尾的"."号在網際網路的發展初期,通路一個網站不是單純的輸入這樣DNS伺服器才能夠識别。後來, 微軟公司在WindowsNT3.51中對其進行了修改,可以自動在DNS查詢時自動增加一個.号,随後UNIX,NetWare也随之而跟進,讓伺服器可以識别結尾沒有"."的域名。但是,符号"."在現在的網址中仍然可以使用,統一 資源定位符的日常使用 超文本 傳輸協定統一 資源定位符将從網際網路擷取資訊的四個基本元素包括在一個簡單的位址中。

其它使用

統一資源定位符不但被用作網頁位址,資料庫終端也使用統一資源定位符伺服器連接配接其伺服器。實際上任何終端-伺服器程式都可以使用統一資源定位符來連接配接。

以下是一個資料庫的統一資源定位符:

jdbc:datadirect:oracle://myserver:1521;sid=testdb