前端面試題-url、href、src

1、URL的概念

統一資源定位符(或稱統一資源定位器/定位地址、URL地址等,英語:Uniform Resource Locator,常縮寫爲URL),有時也被俗稱爲 網頁地址(網址)。如同在網絡上的門牌,是因特網上標準的資源的地址(Address)。

2、URL的格式

2.1 標準格式

協議類型:[//服務器地址[:端口號]][/資源層級UNIX文件路徑]文件名?查詢

2.2 完整格式

協議類型:[//[訪問資源須要的憑證信息@]服務器地址[:端口號]][/資源層級UNIX文件路徑]文件名?查詢

其中【訪問憑證信息@;:端口號;?查詢;#片斷ID】都屬於選填項。css

3、URL的語法規則

好比網址 http://segmentfault.com/html/...,必須遵照如下的語法規則:html

scheme://host.domain:port/path/filename

3.1 說明

(1)scheme - 定義因特網服務的類型。最多見的類型是 http
(2)host - 定義域主機(http 的默認主機是 www)
(3)domain - 定義因特網域名,好比 w3school.com.cn
(4):port - 定義主機上的端口號(http 的默認端口號是 80)
(5)path - 定義服務器上的路徑(若是省略,則文檔必須位於網站的根目錄中)。
(6)filename - 定義文檔/資源的名稱web

3.2 URL Schemes

如下是其中一些最流行的 scheme:segmentfault

Scheme 訪問 用於...
http 超文本傳輸協議 http:// 開頭的普通網頁。不加密。
https 安全超文本傳輸協議 安全網頁。加密全部信息交換。
ftp 文件傳輸協議 用於將文件下載或上傳至網站。
file 您計算機上的文件。

4、URL的類型

4.1 絕對URL

絕對URL(absolute URL)顯示文件的完整路徑,這意味着絕對URL自己所在的位置與被引用的實際文件的位置 無關

4.2 相對URL

相對URL(relative URL)以包含URL自己的文件夾的位置爲 參考點,描述目標文件夾的位置。

通常來講,對於同一服務器上的文件,應該老是使用相對URL,它們更容易輸入,並且在將頁面從本地系統轉移到服務器上時更方便,只要每一個文件的相對位置保持不變,連接就仍然是有效地。瀏覽器

如下爲創建路徑所使用的幾個特殊符號,及其所表明的意義。安全

(1).:表明目前所在的目錄,相對路徑。 例如 <a href="./abc">文本</a> 或 <img src="./abc" />
(2)..:表明上一層目錄,相對路徑。 例如 <a href="../abc">文本</a> 或 <img src="../abc" />
(3)../../:表明的是上一層目錄的上一層目錄,相對路徑。 例如 <img src="../../abc" />
(4)/:表明根目錄,絕對路徑。 例如 <a href="/abc">文本</a> 或 <img src="/abc" />服務器

5、href的概念

5.1 規範解釋

href (Hypertext Reference)指定網絡資源的位置,從而在當前元素或者當前文檔和由當前屬性定義的須要的錨點或資源之間定義一個連接或者關係。

5.2 通俗理解

href 目的不是爲了引用資源,而是爲了創建聯繫,讓當前標籤可以連接到目標地址。網絡

6、src的概念

source(縮寫),指向外部資源的位置,指向的內容將會應用到文檔中當前標籤所在位置。框架

7、href和src的區別

7.1 請求資源類型不一樣

(1)href 指向網絡資源所在位置,創建和當前元素(錨點)或當前文檔(連接)之間的聯繫。dom

(2)在請求 src 資源時會將其指向的資源下載並應用到文檔中,好比 JavaScript 腳本,img 圖片;

7.2 做用結果不一樣

(1)href 用於在當前文檔和引用資源之間確立聯繫;

(2)src 用於替換當前內容;

7.3 瀏覽器解析方式不一樣

(1)若在文檔中添加 <link href="style.css" rel="stylesheet"/>,瀏覽器會識別該文檔爲 CSS 文件,就會並行下載資源而且不會中止對當前文檔的處理。這也是爲何建議使用 link 方式加載 CSS,而不是使用 @import 方式。

(2)當瀏覽器解析到 <script src="script.js"></script>,會暫停其餘資源的下載和處理,直到將該資源加載、編譯、執行完畢,圖片和框架等也如此,相似於將所指向資源應用到當前內容。這也是爲何建議把 js 腳本放在底部而不是頭部的緣由。

8、link和@import的區別

二者都是外部引用 CSS 的方式,可是存在必定的區別:

(1)link是XHTML標籤,除了可以加載CSS,還能夠定義RSS等其餘事務;而@import屬於CSS範疇,只能夠加載CSS。

(2)link引用CSS時,在頁面載入時同時加載;@import須要頁面徹底載入之後再加載。

(3)link是XHTML標籤,無兼容問題;@import則是在CSS2.1提出的,低版本的瀏覽器不支持。

(4)link支持使用Javascript控制DOM改變樣式;而@import不支持。

閱讀更多

相關文章
相關標籤/搜索