Web伺服器機制(一)
阿新 • • 發佈:2018-12-08
今天看了看書架上的書,發現一本關於tomcat的書,翻了翻,發現還真學到很多東西,記錄一下,就當一篇讀書筆記吧。
第一章主要是講解了一下web伺服器的機制,從以下三方面展開:通訊協議、Socket通訊、web伺服器模型
一、通訊協議
HTTP
Hyper Text Transfer Protocol(超文字傳輸協議)
特點:
- 應用層協議
- 請求和相應組成
- 無狀態
- 普遍使用版本是http1.1
作用:能使瀏覽器更加高效,使網路傳輸減少,保證計算機正確快速地傳輸超文字文件
HTTPS
定義:http的安全版。他的本質還是http協議,只是在HTTP增加了一個SSL和TLS協議層,如下圖所示
SSL/TLS協議提供了加解密的機制,所以他比http明文傳輸更加安全。一般http埠號為80,https埠號為443
簡單地說,SSL/TLS協議層主要的職責就是藉助下層協議的通道安全地協商出一份加密金鑰。他解決了以下三個安全性方面的議題。
- 提供驗證服務,驗證本次會話實體身份的合法性
- 提供加密服務,強加密機制能保證通訊過程中的訊息不會破譯
- 提供防篡改服務,利用Hash演算法對訊息進行簽名,通過驗證簽名保證通訊內容不被篡改
二、套接字通訊
定義:套接字通訊是應用層與TCP/IP協議族通訊的中間抽象層,他是一組介面。應用層通過呼叫這些介面傳送和接受資料。
作用:可以簡單地市縣應用程式在網路上的通訊。一臺機器上的應用向套接字中寫入資訊,另外一臺相連的機器能讀取到
TCP/IP協議族中有兩種套接字型別:流套接字和資料報套接字,分別對應TCP協議和UDP協議。一個TCP/IP套接字,由一個網際網路地址、一個協議以及一個埠號唯一確定。
如下圖所示,套接字抽象層位於傳輸層和應用層之間。他類似於設計模式中的外觀模式,使用者沒必要知道和處理複雜的TCP/IP協議族業務邏輯的細節。他把這些複雜的處理過程都隱藏在套接字介面下面,幫助使用者解析組織TCP/IP協議報文資料,以符合TCP/IP協議族,這樣使用者只要簡單呼叫介面即可實現資料的通訊操作
注:內容總結自《Tomcat核心設計剖析》