定義
統一資源定位符 (英語: Uniform Resource Locator, 縮寫: URL, 俗稱網頁地址或網址) 是因特網上標准的資源的地址.
統一資源定位符的標准格式如下:
[協議類型]0://[服務器地址][端口號]/[資源層級UNIX文件路徑][文件名]?[查詢]#[片段ID]
統一資源定位符的完整格式如下:
[協議類型]://[訪問資源需要的憑證信息]@[服務器地址]:[端口號]/[資源層級UNIX文件路徑][文件名]?[查詢]#[片段ID]
其中[訪問憑證信息]、[端口號]、[查詢]、[片段ID]都屬於選填項。
語法
超文本傳輸協議的統一資源定位符將從因特網獲取信息的五個基本元素包括在一個簡單的地址中:
- 傳送協議
- 層級 URL 標記符號(為[//], 固定不變)
- 訪問資源需要的憑證信息(可省略)
- 服務器(通常為域名, 有時為 IP 地址)
- 端口號(以數字方式表示, 若為默認值可省略)
- 路徑(以"/"字符區別路徑中的每一個目錄名稱)
- 查詢(GET 模式的窗體參數, 以"?"字符為起點, 每個參數以"&"隔開, 再以"="分開參數名稱與資料, 通常以 UTF8 的 URL 編碼, 避開字符沖突的問題)
- 片段(以"#"為起點)
以 https://zh.wikipedia.org/w/index.php?title=Special:隨機頁面 為例, 其中:
- http 是協議
- zh.wikipedia.org 是服務器
- 443 是服務器上的網絡端口號
- /w/index.php 是路徑
- ?title=Special:隨機頁面是詢問
大多數網頁瀏覽器不要求用戶輸入網頁中 “https://” 的部分,因為絕大多數網頁內容是超文本傳輸協議文件。同樣,“80” 是超文本傳輸協議文件的常用端口號,因此一般也不必寫明。一般來說用戶只要鍵入統一資源定位符的一部分(zh.wikipedia.org/w/index.php?title=Special:隨機頁面)就可以了。
由於超文本傳輸協議允許服務器將瀏覽器重定向到另一個網頁地址,因此許多服務器允許用戶省略網頁地址中的部分,比如 www。從技術上來說這樣省略后的網頁地址實際上是一個不同的網頁地址,瀏覽器本身無法決定這個新地址是否通,服務器必須完成重定向的任務。
其他使用
統一資源定位符不但被用作網頁地址,JDBC 客戶端也使用統一資源定位符連接其數據庫服務器。作為對比,ODBC 的連接字符串作用相同,但並不采用 URL 格式,而是分號和等號分隔的鍵值對。
以下是一個 Oracle 數據庫的統一資源定位符:
jdbc:datadirect:oracle://myserver:1521;sid=testdb