URL詳解

瀏覽器因特網資源:URL是瀏覽器尋找信息時所需的資源位置,經過URL,應用程序才能找到並使用共享因特網上大量的數據資源。php

 

大部分URL都遵循一種標準的格式:html

HTTP協議(http://或者https://)web

服務器的因特網地址(www.baidu.com或者csh.joes.com)數據庫

web服務器上的某個資源 (/spa/csh.php)數組

傳某個數據給服務器上的資源(可選,?name=csh&age=25)瀏覽器

 

URL的語法:大多數URL語法都創建在9個部分構成的通用格式上,而其中最重要的是方案(scheme)、主機(host)和路徑(path)服務器

通用格式:方案://用戶名:密碼@主機名:端口/服務器上資源的路徑;參數?查詢#片斷搜索引擎

1方案:指訪問服務器以獲取資源時要使用哪一種協議。好比,httphttpsFTPspa

2主機和端口:指資源宿主服務器的主機名或IP地址。端口是指資源宿主服務器正在監聽的端口,不少HTTP的默認端口號是80好比,130.32.12.34:800,這裏的IP地址是主機名,端口是800htm

3用戶名和密碼:不少服務器都要求輸入用戶名和密碼纔會容許用戶訪問數據,如FTP服務器。

例子:joe是用戶名、joepasswd是密碼

ftp://joe:joepasswd@ftp.prep.edu/pub/name

4路徑:路徑說明了資源位於服務器的什麼地方。

例子:/cans/index.html就是URL中的路徑

http://www.hda.com/cans/index.html

5參數:爲了嚮應用程序提供它們所須要的輸入參數,以便正確地與服務器進行交互,URL中有個參數組件。由字符「;」將其與URL的其他部分分隔開來。

例子:;type=7;nam=true就是兩個參數。

ftp://prep.mit.edu/pub;type=7;nam=true

6查詢:不少資源,好比數據庫服務、搜索引擎,均可以經過提問題或進行查詢來縮小請求資源的範圍。由字符「?」將其與URL的其他部分分隔開來

例子:查詢組件有兩個名/值對:name=cshage=24

http://www.cheng.cn/si.html?name=csh&age=24

7、片斷:#表明網頁中的一個位置,其右面的字符就是該位置的標識符(通常狀況下,錨連接會用到)

例子:下面的URL中,表明網頁si.indexprint位置,瀏覽器讀取這個URL後,會自動將print位置滾動至可視區域。

http://www.cheng.cn/si.html#print

 

URL的分類:URL能夠分爲絕對URL和相對URL

絕對URL絕對URL中包含了訪問資源所需的所有信息。

案例:<a href=’http://cheng.com/si.html></a>

相對URL相對URL包含的只是訪問資源所需的部分信息。而要想獲得訪問資源的所有信息的話,就要和另外一個被稱爲基礎(base)URL結合進行解析

案例:<script src="lib/sea.js"></script>

 

相對URL中的基礎URL轉換相對URL的第一步就是找到基礎URL

一、在資源中顯式地指定基礎URL。好比,HTML文檔中可能會包含一個定義了基礎URLHTML標籤<base>

二、封裝資源的基礎URL。在HTML中,基礎URL能夠從它們所屬資源的基礎URL中推導出來

案例:HTML頁面中的基礎URL

頁面URLhttp://www.cheng.com/si/sa.html

上述HTML頁面的基礎URLhttp://www.cheng.com

相關文章
相關標籤/搜索