web服務器原理
Web服務器的工作原理並不復雜,一般可分成如下4個步驟:連接過程、請求過程、應答過程以及關閉連接。下面對這4個步驟作一簡單的介紹。連接過程就是Web服務器和其瀏覽器之間所建立起來的一種連接。查看連接過程是否實現,用戶可以找到和打開socket這個虛擬文件,這個文件的建立意味著連接過程這一步驟已經成功建立。請求過程就是Web的瀏覽器運用socket這個文件向其服務器而提出各種請求。應答過程就是運用HTTP協議把在請求過程中所提出來的請求傳輸到Web的服務器,進而實施任務處理,然後運用HTTP協議把任務處理的結果傳輸到Web的瀏覽器,同時在Web的瀏覽器上面展示上述所請求之界面。關閉連接就是當上一個步驟--應答過程完成以後,Web服務器和其瀏覽器之間斷開連接之過程。Web服務器上述4個步驟環環相扣、緊密相聯,邏輯性比較強,可以支持多個進程、多個線程以及多個進程與多個線程相混合的技術。
在Java方面,web容器一般是指Servlet容器。Servlet容器是與Java Servlet交互的web容器的組件。web容器負責管理Servlet的生命周期、把URL映射到特定的Servlet、確保URL請求擁有正確的訪問權限和更多類似的服務。綜合來看,Servlet容器就是用來運行你的Servlet和維護它的生命周期的運行環境。
Web服務器的工作原理並不復雜,一般可分成如下4個步驟:連接過程、請求過程、應答過程以及關閉連接。下面對這4個步驟作一簡單的介紹。
- 連接過程就是Web服務器和其瀏覽器之間所建立起來的一種連接。查看連接過程是否實現,用戶可以找到和打開socket這個虛擬文件,這個文件的建立意味著連接過程這一步驟已經成功建立。
- 請求過程就是Web的瀏覽器運用socket這個文件向其服務器而提出各種請求。
- 應答過程就是運用HTTP協議把在請求過程中所提出來的請求傳輸到Web的服務器,進而實施任務處理,然後運用HTTP協議把任務處理的結果傳輸到Web的瀏覽器,同時在Web的瀏覽器上面展示上述所請求之界面。
- 關閉連接就是當上一個步驟--應答過程完成以後,Web服務器和其瀏覽器之間斷開連接之過程。Web服務器上述4個步驟環環相扣、緊密相聯,邏輯性比較強,可以支持多個進程、多個線程以及多個進程與多個線程相混合的技術
(1) 用戶做出了一個操作,可以是填寫網址敲回車,可以是點擊鏈接,可以是點擊按鍵等,接著瀏覽器獲取了該事件。
(2) 瀏覽器與對端服務程序建立TCP連接。
(3) 瀏覽器將用戶的事件按照HTTP協議格式**打包成一個數據包,其實質就是在待發送緩沖區中的一段有著HTTP協議格式的字節流。
(4) 瀏覽器確認對端可寫,並將該數據包推入Internet,該包經過網絡最終遞交到對端服務程序。
(5) 服務端程序拿到該數據包後,同樣以HTTP協議格式解包,然後解析客戶端的意圖。
(6) 得知客戶端意圖後,進行分類處理,或是提供某種文件、或是處理數據。
(7) 將結果裝入緩沖區,或是HTML文件、或是一張圖片等。
(8) 按照HTTP協議格式將(7)中的數據打包
(9) 服務器確認對端可寫,並將該數據包推入Internet,該包經過網絡最終遞交到客戶端。
(10) 瀏覽器拿到包後,以HTTP協議格式解包,然後解析數據,假設是HTML文件。
(11) 瀏覽器將HTML文件展示在頁面
以上為Web服務器工作基本原理
web服務器原理