本文跟大家分享我日常收集整理的關於前端面試題之url、href、src的語法規則及基本概念,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
一、URL的概念
統一資源定位符(或稱統一資源定位器/定位位址、URL位址等,英文:Uniform Resource Locator,常縮寫為URL),有時也被俗稱為網頁位址(網址)。如同在網路上的門牌,是因特網上標準的資源的地址(Address)。
二、URL的格式
#2.1 標準格式
協定類型:[//伺服器位址[:連接埠號碼]][/資源層級UNIX檔案路徑]檔案名稱?查詢
#2.2 完整格式
協定類型:[//[存取資源所需的憑證資訊@]伺服器位址[:連接埠號碼]][/資源層級UNIX檔案路徑]檔案名稱?查詢
其中【存取憑證資訊@;:連接埠號碼;?查詢;#片段ID】都屬於選填項。
三、URL的語法規則
#例如網址http://segmentfault.com/html/index.asp,必須遵守以下的語法規則:
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 - 定義文件/資源的名稱
3.2 URL Schemes
以下是其中一些最受歡迎的scheme:
Scheme | 訪問 | 用於... |
---|---|---|
http | 超文本傳輸協定 | 以 http:// 開頭的普通網頁。不加密。 |
https | 安全超文本傳輸協定 | 安全網頁。加密所有資訊交換。 |
ftp | 檔案傳輸協定 | 用於將檔案下載或上傳至網站。 |
file | 您電腦上的檔案。 |
四、URL的類型
4.1 絕對URL
絕對URL(absolute URL)顯示檔案的完整路徑,這意味著絕對URL本身所在的位置與被引用的實際文件的位置無關。
4.2 相對URL
相對URL(relative URL)以包含URL本身的資料夾的位置為參考點,描述目標資料夾的位置。
一般來說,對於同一台伺服器上的文件,應該總是使用相對URL,它們更容易輸入,而且在將頁面從本地系統轉移到伺服器上時更方便,只要每個文件的相對位置不變,連結就仍然是有效地。
以下為建立路徑所使用的幾個特殊符號,及其所代表的意義。
(1) .:代表目前所在的目錄,相對路徑。如: 文本 或
(2) ..:代表上一層目錄,相對路徑。如: 文本 或
(3) ../../:代表的是上一層目錄的上一層目錄,相對路徑。如:
(4) /:代表根目錄,絕對路徑。如:[文本] (/abc) 或
五、href的概念
#5.1 規範解釋
href (Hypertext Reference)指定網路資源的位置,從而在當前元素或當前文件和由當前屬性定義的需要的錨點或資源之間定義一個連結或關係。
5.2 通俗理解href 目的不是為了引用資源,而是為了建立聯繫,讓目前標籤能夠連結到目標位址。
六、src的概念
source(縮寫),指向外部資源的位置,指向的內容將會套用到文件中當前標籤所在位置。
七、href和src的區別
7.1 請求資源類型不同(1 )href 指向網路資源所在位置,建立和目前元素(錨點)或目前文件(連結)之間的聯繫。 (2)在請求src 資源時會將其指向的資源下載並應用到文件中,例如JavaScript 腳本,img 圖片;
##7.2 作用結果不同
(1)href 用於在目前文件和引用資源之間確立聯繫;(2)src 用於取代目前內容;7.3 瀏覽器解析方式不同
(1)若在文檔中添加,瀏覽器會識別該文檔為CSS 文件,就會並行下載資源並且不會停止對當前文檔的處理。這也是為什麼建議使用 link 方式來載入 CSS,而不是使用 @import 方式。 (2)當瀏覽器解析到,會暫停其他資源的下載和處理,直到將該資源載入、編譯、執行完畢,圖片和框架等也如此,類似於將所指向資源應用到當前內容。這也是為什麼建議把 js 腳本放在底部而不是頭部的原因。 八、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不支援。 ######上面是我整理給大家的,希望今後對大家有幫助。 ######相關文章:#########Ajax呼叫restful介面傳送Json格式資料的方式(附有程式碼)############Boa伺服器下的ajax與cgi通訊(圖文教學)############Ajax Struts2實作驗證碼驗證功能(圖文教學)######以上是收集前端面試題之url、href、src的詳細內容。更多資訊請關注PHP中文網其他相關文章!