2.URL與資源
統一資源定位符(URL)描述了一臺特定伺服器上某資源的特定位置。
1. URL 語法
大多數 URL 方案的 URL 語法都建立在這個由 9 個部分構成的通用格式上:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
URL 最重要的三個部分是:方案(scheme)、主機(host)和路徑(path)。下表對這些元件進行了總結:
如一個 URL :http://www.joes-hardware.com:80/index.html
http
,主機為 www.joes-hardware.com
,埠是 80
,路徑為 /index.html
。
1.1 方案
方案是規定如何訪問指定資源的主要識別符號,它告訴負責解析 URL 的應用程式應該使用什麼協議。
方案是大小寫無關的
1.2 引數
HTTP URL 的路徑元件可以分為若干路徑段,每段路徑都可以有自己的引數,比如:
http://www.joes-hardware.com/hammers;sale=false/index.html/graphics=true
這個例子就有兩個路徑段,且它們都有各自的引數。
1.3 查詢字串
查詢字串是用來縮小所請求資源類型範圍的。
查詢字串會以一系列 key/value
對的形式出現,中間使用 &
字元分隔。
如:http://www.xxx.com/inventory-check?item=12731&color=blue
這個例子中,查詢元件有兩個鍵值對:item=12731
和 color=blue
,查詢目的是為了查詢清單中是否有顏色為 blue
的條目 12731
。
1.4 片段
片段主要用於對一個資源內部做進一步的劃分。
如,一個 URL 可以加上片段來指向一個文件中一個特定的章節或圖片。
片段掛載 URL 的右邊,前面有一個 #
分隔,如:http://www.xxx.com/tools.html#drills
這個例子中 drills
是 tools.index
這個頁面中的一個標題,輸入這個 URL 就會自動定位到這個標題開始的位置。
HTTP 處理的是整個物件(如 tools.html
),而這個物件的片段(#drills
)是交給瀏覽器來處理的。
2. 方案
下表總結了一些常用的方案:
http
預設埠為 80
,https
預設埠為 443