URL(Uniform Resource Locator)
統一資源定位符是對可以從網際網路上得到的資源的位置和訪問方法的一種簡潔的表示,是網際網路上標準資源的地址。網際網路上的每個檔案都有一個唯一的URL,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。
結構
基本URL包含模式(或稱協議)、伺服器名稱(或IP地址)、路徑和檔名,如“協議://授權/路徑?查詢”。完整的、帶有授權部分的普通統一資源標誌符語法看上去如下:協議://使用者名稱:密碼@子域名.域名.頂級域名:埠號/目錄/檔名.檔案字尾?引數=值#標誌
第一部分:
模式/協議(scheme):它告訴瀏覽器如何處理將要開啟的檔案。最常用的模式是超文字傳輸協議(Hypertext Transfer Protocol,縮寫為HTTP),這個協議可以用來訪問網路。1 其他協議如下:
- http——超文字傳輸協議資源
- https——用安全套接字層傳送的超文字傳輸協議
- ftp——檔案傳輸協議
- mailto——電子郵件地址
- ldap——輕型目錄訪問協議搜尋
- file——當地電腦或網上分享的檔案
- news——Usenet新聞組
- gopher——Gopher協議
- telnet——Telnet協議
第二部分:
檔案所在的伺服器的名稱或IP地址,後面是到達這個檔案的路徑和檔案本身的名稱。伺服器的名稱或IP地址後面有時還跟一個冒號和一個埠號。它也可以包含接觸伺服器必須的使用者名稱稱和密碼。路徑部分包含等級結構的路徑定義,一般來說不同部分之間以斜線(/)分隔。詢問部分一般用來傳送對伺服器上的資料庫進行動態詢問時所需要的引數。
分類
1、絕對URL
絕對URL(absolute URL)顯示檔案的完整路徑,這意味著絕對URL本身所在的位置與被引用的實際檔案的位置無關。
2、相對URL
相對URL(relative URL)以包含URL本身的資料夾的位置為參考點,描述目標資料夾的位置。如果目標檔案與當前頁面(也就是包含URL的頁面)在同一個目錄,那麼這個檔案的相對URL僅僅是檔名和副檔名,如果目標檔案在當前目錄的子目錄中,那麼它的相對URL是子目錄名,後面是斜槓,然後是目標檔案的檔名和副檔名。
如果要引用檔案層次結構中更高層目錄中的檔案,那麼使用兩個句點和一條斜槓。可以組合和重複使用兩個句點和一條斜槓,從而引用當前檔案所在的硬碟上的任何檔案,一般來說,對於同一伺服器上的檔案,應該總是使用相對URL,它們更容易輸入,而且在將頁面從本地系統轉移到伺服器上時更方便,只要每個檔案的相對位置保持不變,連結就仍然是有效地。
以下為建立路徑所使用的幾個特殊符號,及其所代表的意義。
.
:代表目前所在的目錄,相對路徑。 如:<a href="./abc">
文字</a>
或<img src="./abc" />
..
:代表上一層目錄,相對路徑。 如:<a href="../abc">
文字</a>
或<img src="../abc" />
../../
:代表的是上一層目錄的上一層目錄,相對路徑。 如:<img src="../../abc" />
/
:代表根目錄,絕對路徑。 如:<a href="/abc">文字</a>
或<img src="/abc" />
D:/abc/
:代表根目錄,絕對路徑。
在使用相對路徑時,我們用符號“.”來表示當前目錄,用符號“..”來表示當前目錄的父目錄。
重點:href 和 src 的定義與區別
href和src是有區別的,而且是不能相互替換的。我們在可替換的元素上使用src,然而把href用於在涉及的文件和外部資源之間建立一個關係。
href (Hypertext Reference)指定網路資源的位置,從而在當前元素或者當前文件和由當前屬性定義的需要的錨點或資源之間定義一個連結或者關係。當我們寫下:
<link href="style.css" rel="stylesheet" />
複製程式碼
瀏覽器明白當前資源是一個樣式表,頁面解析不會暫停(由於瀏覽器需要樣式規則去畫或者渲染頁面,渲染過程可能會被被暫停)。這與把css檔案內容寫在<style>
標籤裡不相同,因此建議使用link標籤而不是@import來吧樣式表匯入到html文件裡。
src (Source)屬性僅僅 嵌入當前資源到當前文件元素定義的位置。當瀏覽器找到
<script src="script.js"></script>
複製程式碼
在瀏覽器下載,編譯,執行這個檔案之前頁面的載入和處理會被暫停。這個過程與把js檔案放到<script>
標籤裡類似。這也是建議把JS檔案放到底部載入的原因。當然,img標籤頁與此類似。瀏覽器暫停載入直到提取和載入影象。
與img類似的有更多: replaced elements。
參考: