URL即:統一資源定位符 (Uniform Resource Locator, URL)
完整的URL由這幾個部分構成:
scheme://host:port/path?query#fragment
scheme:通訊協定
常用的HTTP,ftp,maito等
host:主機
伺服器(電腦)網域名稱系統 (DNS) 主機名稱或 IP 位址。 port:埠號
整數,可選,省略時使用方案的預設埠,如HTTP的預設埠為80。 path:路徑
由零或多個"/"符號隔開的字串,一般用來表示主機上的一個目錄或檔位址。 query:查詢
可選,用於給動態網頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP. NET等技術製作的網頁)傳遞參數,可有多個參數,用"&"符號隔開,每個參數的名和值用"="符號隔開。 fragment:資訊片斷
字串,用於指定網路資源中的片斷。 例如一個網頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。 (也稱為錨點.) 對於這樣一個URL HTTP://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
我們可以用javascript獲得其中的各個部分
1, window.location.href
整個URl字串(在瀏覽器中就是完整的網址列)
本例傳回值: HTTP://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere 2, window.location.protocol
URL 的協定部分
本例傳回值:HTTP: 3,window.location.host
URL 的主機部分
本例傳回值:www.x2y2.com 4,window.location.port
URL 的埠部分
如果採用預設的80埠(update:即使添加了:80),那麼傳回值並不是預設的80而是空字元
本例傳回值:"" 5,window.location.pathname
URL 的路徑部分(就是檔位址)
本例傳回值:/fisker/post/0703/window.location.html 6,window.location.search
查詢(參數)部分
除了給動態語言賦值以外,我們同樣可以給靜態頁面,並使用javascript來獲得相信應的參數值
本例傳回值:?ver=1.0&id=6 7,window.location.hash
錨點
本例傳回值:#imhere