tomcat服務器和HTTP協議

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

相關文章
相關標籤/搜索