瀏覽器因特網資源: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、方案:指訪問服務器以獲取資源時要使用哪一種協議。好比,http、https和FTP等spa
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=csh和age=24
http://www.cheng.cn/si.html?name=csh&age=24
7、片斷:#表明網頁中的一個位置,其右面的字符就是該位置的標識符(通常狀況下,錨連接會用到)
例子:下面的URL中,表明網頁si.index的print位置,瀏覽器讀取這個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文檔中可能會包含一個定義了基礎URL的HTML標籤<base>
二、封裝資源的基礎URL。在HTML中,基礎URL能夠從它們所屬資源的基礎URL中推導出來
案例:HTML頁面中的基礎URL
頁面URL:http://www.cheng.com/si/sa.html
上述HTML頁面的基礎URL是http://www.cheng.com