更新時間:2018年11月27日14時30分 來源:傳智播客 瀏覽次數(shù):
一、URL的概念
統(tǒng)一資源定位符(或稱統(tǒng)一資源定位器/定位地址、URL地址等,英語:Uniform Resource Locator,??s寫為URL),有時也被俗稱為網(wǎng)頁地址(網(wǎng)址)。如同在網(wǎng)絡(luò)上的門牌,是因特網(wǎng)上標(biāo)準(zhǔn)的資源的地址(Address)。
二、URL的格式
2.1 標(biāo)準(zhǔn)格式
協(xié)議類型:[//服務(wù)器地址[:端口號]][/資源層級UNIX文件路徑]文件名?查詢
2.2 完整格式
協(xié)議類型:[//[訪問資源需要的憑證信息@]服務(wù)器地址[:端口號]][/資源層級UNIX文件路徑]文件名?查詢
其中【訪問憑證信息@;:端口號;?查詢;#片段ID】都屬于選填項。
三、URL的語法規(guī)則
比如網(wǎng)址 http://segmentfault.com/html/index.asp,必須遵守以下的語法規(guī)則:
scheme://host.domain:port/path/filename
3.1 說明
(1)scheme - 定義因特網(wǎng)服務(wù)的類型。最常見的類型是 http (2)host - 定義域主機(http 的默認主機是 www) (3)domain - 定義因特網(wǎng)域名,比如 w3school.com.cn (4):port - 定義主機上的端口號(http 的默認端口號是 80) (5)path - 定義服務(wù)器上的路徑(如果省略,則文檔必須位于網(wǎng)站的根目錄中)。 (6)filename- 定義文檔/資源的名稱
3.2 URL Schemes
以下是其中一些最流行的 scheme:
Scheme訪問用于...http超文本傳輸協(xié)議以 http:// 開頭的普通網(wǎng)頁。不加密。https安全超文本傳輸協(xié)議安全網(wǎng)頁。加密所有信息交換。ftp文件傳輸協(xié)議用于將文件下載或上傳至網(wǎng)站。file
您計算機上的文件。
四、URL的類型
4.1 絕對URL
絕對URL(absolute URL)顯示文件的完整路徑,這意味著絕對URL本身所在的位置與被引用的實際文件的位置無關(guān)。
4.2 相對URL
相對URL(relative URL)以包含URL本身的文件夾的位置為參考點,描述目標(biāo)文件夾的位置。
一般來說,對于同一服務(wù)器上的文件,應(yīng)該總是使用相對URL,它們更容易輸入,而且在將頁面從本地系統(tǒng)轉(zhuǎn)移到服務(wù)器上時更方便,只要每個文件的相對位置保持不變,鏈接就仍然是有效地。
以下為建立路徑所使用的幾個特殊符號,及其所代表的意義。
(1) .:代表目前所在的目錄,相對路徑。 如: 文本 或
(2) ..:代表上一層目錄,相對路徑。 如: 文本 或
(3) ../../:代表的是上一層目錄的上一層目錄,相對路徑。 如:
(4) /:代表根目錄,絕對路徑。 如:[文本] (/abc) 或
五、href的概念
5.1 規(guī)范解釋
href (Hypertext Reference)指定網(wǎng)絡(luò)資源的位置,從而在當(dāng)前元素或者當(dāng)前文檔和由當(dāng)前屬性定義的需要的錨點或資源之間定義一個鏈接或者關(guān)系。
5.2 通俗理解
href 目的不是為了引用資源,而是為了建立聯(lián)系,讓當(dāng)前標(biāo)簽?zāi)軌蜴溄拥侥繕?biāo)地址。
六、src的概念
source(縮寫),指向外部資源的位置,指向的內(nèi)容將會應(yīng)用到文檔中當(dāng)前標(biāo)簽所在位置。
七、href和src的區(qū)別
7.1 請求資源類型不同
(1)href 指向網(wǎng)絡(luò)資源所在位置,建立和當(dāng)前元素(錨點)或當(dāng)前文檔(鏈接)之間的聯(lián)系。
(2)在請求 src 資源時會將其指向的資源下載并應(yīng)用到文檔中,比如 JavaScript 腳本,img 圖片;
7.2 作用結(jié)果不同
(1)href 用于在當(dāng)前文檔和引用資源之間確立聯(lián)系;
(2)src 用于替換當(dāng)前內(nèi)容;
7.3 瀏覽器解析方式不同
(1)若在文檔中添加 ,瀏覽器會識別該文檔為 CSS 文件,就會并行下載資源并且不會停止對當(dāng)前文檔的處理。這也是為什么建議使用 link 方式加載 CSS,而不是使用 @import 方式。
(2)當(dāng)瀏覽器解析到 ,會暫停其他資源的下載和處理,直到將該資源加載、編譯、執(zhí)行完畢,圖片和框架等也如此,類似于將所指向資源應(yīng)用到當(dāng)前內(nèi)容。這也是為什么建議把 js 腳本放在底部而不是頭部的原因。
八、link和@import的區(qū)別
兩者都是外部引用 CSS 的方式,但是存在一定的區(qū)別:
(1)link是XHTML標(biāo)簽,除了能夠加載CSS,還可以定義RSS等其他事務(wù);而@import屬于CSS范疇,只可以加載CSS。
(2)link引用CSS時,在頁面載入時同時加載;@import需要頁面完全載入以后再加載。
(3)link是XHTML標(biāo)簽,無兼容問題;@import則是在CSS2.1提出的,低版本的瀏覽器不支持。
(4)link支持使用Javascript控制DOM改變樣式;而@import不支持。
首發(fā):http://java.itcast.cn