URL統一資源定位符的完全解讀

2022-09-21 05:12:08 字數 2214 閱讀 1256

url(uniform resource locator ,統一資源定位符)是瀏覽器尋找資訊時所需的資源位置。通過url這種網際網路的標準化名稱,人類和應用程式才能找到並使用網際網路上大量的資料資源。本文將介紹url的語法,web客戶端支援的url快捷方式,url編碼和字元規則等等。

伺服器資源名被稱為uri(統一資源識別符號),而我們常說的url,實際上是uri的乙個子集,也是uri最常見的形式。除此之外,uri還包括urn(其通過名字來識別資源,與它們當前所處位置無關,現仍處於試用階段)。實際上http應用程式處理的只是url,所以下面講的基本都是url。

1. url的語法

大多數url語法都建立在以下9部分構成的通用格式上,其中最重要的方案(scheme)、主機(host)和路徑(path):

複製**

**如下:

://:@:/;?#

方案(scheme):它會告訴負責解析url的應用程式應該使用什麼協議,其大小寫無關。一般有http、https、ftp、mailto、telnet等等。例子:

複製**

**如下:

主機與埠(host、port):主機標識了網際網路上能夠訪問資源的宿主機器,可用主機名(網域名稱)或ip位址表示;埠標識了伺服器正在監聽的網路埠,對下層使用tcp協議的http來說,預設埠號為80。例子:

使用者名稱與密碼(user、password):有一些伺服器需要使用者輸入使用者名稱和密碼才允許訪問資料。若url是ftp協議而沒有指定這兩者,瀏覽器會自動插入「anonymous」和乙個預設密碼。例子:

複製www.cppcns.com**

**如下:

ftp://anonymous:[email protected]/pub/gnu

路徑(path):說明了資源位於伺服器的什麼地方,通常像乙個分級的檔案系統路徑。例子:

複製**

**如下:

引數(params):向應用程式提供它們所需的輸入引數,以便正確地與伺服器進行互動,形式為key-value對列表,由「;」將其與url其餘部分分隔開來。例子:

複製**

**如下:

查詢字串(query):可以通過查詢字串來縮小所請求資源的範圍,形式同樣為key-value對,之間用字元「&」分隔,由「?」將其與url其餘部分分隔開來。例子:

複製**

**如下:

片段(frag):表示乙個資源內部的片段,通常用程式設計客棧於在頁面中設定「書籤」並實現頁內跳轉。片段出現在url的最右邊,前面有乙個字元「#」。注意客戶端不會將片段傳送到伺服器,瀏覽器從伺服器獲得整個資源後,會根據片段在頁內跳轉到指定的位置。例子:

複製**

**如下:

2. url快捷方式

url有兩種方式:絕對的和相對的。像上面列舉的都是絕對url,包含了訪問資源所需的全部資訊。相對url是mbxkrh一種簡寫方式,需要相對乙個基礎url進行解析。

相對url到絕對url的轉換處理,首先是要找到基礎url,一般可以顯示提供(比如html文件定義乙個標籤顯式指定基礎url),或者在封裝資源中提供(比如html文件中的a標籤鏈結,其基礎url就是這個html文件本身)。接著就是通過以下演算法把相對url轉換成絕對url。

3. url字元與編碼

通常來說,url採用的是us-ascii字符集,但是這有很多侷限性,因此用一種「轉義」表示法來表示不安全字元,通過這種編碼機制來避開各種限制。這種轉義表示法包含乙個百分號「%」,後面跟著兩個表示ascii字元的十六進製制數。例如url中的「~」編碼成程式設計客棧「%7e」,空格編碼成「%20」,「%」編碼成「%25&rd程式設計客棧quo;。此外url還有一些字元用作保留字元,如%/.#?;:@&=等等,此處不再贅述。

url是一種強有力的工具,可以用來命名所有現存物件,也可以很方便地包含一些新格式。但它並不完美,它們表示的是實際的位址而不是準確的名字,這就意味著如果資源被移走了,url也就失效了(404 not found)。urn就是為了應對這種情況的,無論物件搬移到什麼地方,urn都能為物件提供乙個穩定的名稱。當然,urn背後的思想已經提出一段時間了,但是從url轉換成urn是一項巨大的工程,標準化工作的程序非常緩慢,所以現在網際網路資源仍以url來命名,而且這種趨勢仍會保持相當長一段時間。

本文標題: url統一資源定位符的完全解讀

本文位址:

URL 統一資源定位符

統一資源定位符是對可以從網際網路上得到的資源的位置和訪問方法的一種簡潔的表示,是網際網路上標準資源的位址。網際網路上的每個檔案都有乙個唯一的url,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。scheme scheme 指定網際網路服務的型別。domain 指定網際網路網域名稱,比如 bai...

統一資源定位符(URL)詳解

一 統一資源定位符概念 統一資源定位符,又叫url uniform resource locator 是專為標識internet網上資源位置而設定的一種編址方式,我們平時所說的網頁位址指的即是url。統一資源定位符是對可以從網際網路上得到的資源的位置和 訪問方法 的一種簡潔的表示,是網際網路上標準資...

統一資源定位符

維基百科,自由的百科全書 重定向自url 跳轉到 導航 搜尋 統一資源定位符 url,英語 uniform universal resource locator 的縮寫 也被稱為網頁位址,如同在網路上的門牌,是網際網路上標準的資源的位址 address 它最初是由蒂姆 伯納斯 李發明用來作為全球資訊...