URL詳解


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

 

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

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

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

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

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

 

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

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

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

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

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

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

2、封裝資源的基礎URL。在HTML中,基礎URL可以從它們所屬資源的基礎URL中推導出來

案例:HTML頁面中的基礎URL

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM