目的 :搞清楚在jsp頁面中如何引用static目錄結構中的靜態資源
一、URL
- URL的全稱是統一資源定位符,俗稱網頁地址(網址),如同在網絡上的門牌,是因特網上標准的資源的地址(Address)。
- URL的語法是一般的,可擴展的,它使用ASCII代碼的一部分來表示因特網的地址。URL的開始,一般會標志着一個計算機網絡所使用的網絡協議。
- 統一資源定位符的標准格式:協議類型://服務器地址(必要時需加上端口號)/路徑/文件名
- 超文本傳輸協議(HTTP)的URL將從因特網獲取信息的五個基本元素包括在一個簡單的地址中:
1、傳送協議。
2、服務器。(通常為域名,有時為IP地址)
3、端口號。(以數字方式表示,若為HTTP的預設值“:80”可省略)
4、路徑。(以“/”字元區別路徑中的每一個目錄名稱)
5、查詢。(GET模式的表單參數,以“?”字元為起點,每個參數以“&”隔開,再以“=”分開參數名稱與資料,通常以UTF8的URL編碼,避開字元沖突的問題)
二、域名解析
首先瀏覽器會去解析www.xxx.com這個域名(主機名)對應的IP地址,步驟如下
第一步:客戶機提出域名解析請求,並將該請求發送給本地的域名服務器。
第二步:當本地的域名服務器收到請求后,就先查詢本地的緩存,如果有該紀錄項,則本地的域名服務器就直接把查詢的結果返回。
第三步:如果本地的緩存中沒有該紀錄,則本地域名服務器就直接把請求發給根域名服務器,然后根域名服務器再返回給本地域名服務器一個所查詢域(根的子域)的主域名服務器的地址。
第四步:本地服務器再向上一步返回的域名服務器發送請求,然后接受請求的服務器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名服務器的地址。
三、回歸問題:怎么通過URL訪問到服務器中的物理文件
1、首先在地址欄輸入URL后,瀏覽器會搜索自身的DNS緩存,看自身的緩存中是否有www.xxx.com 對應的條目,而且沒有過期,如果有且沒有過期則解析到此結束。
2、如果瀏覽器自身的緩存里面沒有找到對應的條目,那么瀏覽器會搜索操作系統自身的DNS緩存,如果找到且沒有過期則停止搜索解析到此結束。
3、如果在Windows系統的DNS緩存也沒有找到,那么嘗試讀取hosts文件,看看這里面有沒有該域名對應的IP地址,如果有則解析成功。
4、如果在hosts文件中也沒有找到對應的條目,瀏覽器就會發起一個DNS的系統調用,就會向本地配置的首選DNS服務器發起域名解析請求,運營商的DNS服務器首先查找自身的緩存,找到對應的條目,且沒有過期,則解析成功。
5、域名解析的整個過稱就是尋址的過稱,解析到對應的IP地址之后,就開始搜尋該物理機上的文件目錄
2、URL默認的端口為80,服務器上會有軟件程序監聽着80端口,一般為tomcat或者nginx,現假設為nginx。
3、nginx收到請求后通過配置的域名路徑去本地查找對應的文件根目錄,然后在根據文件根目錄去查詢所設定的文件子目錄,最終找到對應的文件。