tomcat:一個服務器的服務器軟件,發佈資源要用的
服務器組成:
1.服務器硬件
2.服務器軟件
3.項目(一堆資源的集合)
4.資源
tomcat自己是一個java程序,必須依賴jre運行
eclipse是一個java開發軟件,tomcat是一個服務器軟件,不用每一次都去將項目部署到服務器,將其集成到eclipse
將tomcat集成到eclipse,window/Proferences/Server/Runtime Environments
部署項目:
在Servers下將項目add進Tomcat中html
eclipse存儲java文件:src bin
存儲javaEE文件:src build
tomcat存儲要發佈的文件:webapps/項目名/資源
在eclipse中:WebContent
服務器具體概念介紹:
1.服務器硬件(PC機,專門的服務器設備,手機)
2.服務器軟件(HBuilder,tomcat,數據庫內置服務器等。能夠將數據在網絡上共享)
3.服務器軟件中運行一些相關程序,能夠產生一些資源
4.資源分紅兩種:
A:靜態資源 ---- HTML頁面 ---- 只要原碼不修改,任什麼時候候訪問到的結果都是同樣的
B:動態資源 ---- 經過程序生成HTML頁面 ---- 原碼不修改的狀況下,不一樣的訪問,訪問的結果也不同
在java中生成頁面的程序是Servlet(服務器端的Java小程序) java
客戶端怎麼訪問服務器資源:
ip ---- 定位服務器硬件
端口號 ---- 定位服務器軟件
項目名 ---- 定位服務器軟件中的程序
路徑 ---- 定位服務器軟件中的資源
服務器:
A:存在於網絡上的一臺硬件
B:經過端口號定位一個程序
C:程序會將資源暴露出去,供客戶端訪問
一.tomcat
1.Eclipse怎麼將項目發佈到tomcat的?
A:在tomcat的webapps下面建一個與當前項目同名的文件夾
將項目中的webcontent下面的內容複製到當前文件夾下
B:若是在webcontent外面編寫代碼,這些資源是不能被髮布的,只有webcontent的子級靜態資源才能被瀏覽器直接訪問
C:可是src下面的java程序不一樣,是能夠訪問的
由於項目發佈時,class文件會被單獨整合進webcontent/WEB-INF/classes文件夾
eclipse 的工做空間 ------- 內容與eclipse中的項目結構對應,build 文件夾存儲的是 class 文件
Tomcat 的 webapps目錄---- 先將build文件夾複製進 webcontent/WEB-INF 下面,而後再部署到 tomcat 當前項目下
二.HTTP協議(在請求和響應以後才產生的頁面)
1.HTTP協議
協議:規則 規矩 約定,涉及多方的
HTTP協議是瀏覽器和服務器之間進行數據傳輸時,遵循的規則
2.HTTP協議只是一種理論,必需要結合具體的代碼實現來理解
3.HTTP協議(超文本傳輸協議)
版本:1.0 ---- 每獲取一個資源,都要建立並銷燬一個鏈接
1.1 ---- 獲取多個資源時,共用一個鏈接,效率更高
4.請求協議 ---- 瀏覽器向服務器發送數據時,要遵照的規則
響應協議 ---- 服務器向瀏覽器發送數據時,要遵照的規則
結構組成:
行
頭
體
請求協議:
請求頭:
refer:
產生場景:A頁面跳轉到B頁面時,請求B頁面時,會有refer,告訴B我是從哪跳過來
此步驟中A頁面已經請求響應完畢,而後提交數據到服務器請求跳轉到B頁面,B頁面發送請求
若是B頁面直接請求服務器,則不會有refer
具體應用:
A:防盜鏈
B:網站統計
if-modified-since(瞭解)
A、第一次訪問頁面,服務器要發送html內容(瀏覽器本地進行緩存)以及該文件的最後修改時間,瀏覽器保存該時間
B、第二次以及之後訪問,攜帶 if-modified-since 以及對應的A中的最後修改時間到服務器
C、服務器取出瀏覽器發送過來的時間值,和當前資源的最後修改時間進行判斷
若是同樣,瀏覽器取本地緩存,若是不同,發送新內容到瀏覽器
D、結合響應的 last-modified 使用(憑直覺是若是不相等時要響應兩次)
響應協議:
響應頭:
location ---- 結合302使用
centent-disposition ---- 和文件下載相關
set-cookie ---- 和Cookie Session相關
refresh ----- 時間值
服務器發送該屬性到瀏覽器,瀏覽器解析該屬性,取出值,根據該值隔固定時間後自動刷新一次
應用場景:
一些時時變更的數據訪問,好比:天氣預報,股票行情
響應體:存儲具體的響應數據
BS 和 CS 比較:
CS中服務器能夠主動向客戶端發送數據
BS中服務器不能主動向瀏覽器發數據
壓縮包:
封裝文件的數據,不壓縮的時候存儲具體的數據web