http--hyper text transfer protocol,超文字傳輸協議,是一種建立在tcp上的無狀態連線,整個基本的工作流程是客戶端傳送乙個http請求,說明客戶端想要訪問的資源和請求的動作,服務端收到請求之後,服務端開始處理請求,並根據請求做出相應的動作訪問伺服器資源,最後通過傳送http響應把結果返回給客戶端。
http是一種不儲存狀態, 即無狀態(stateless) 協議。http協議自身不對請求和響應之間的通訊狀態進行儲存。 也就是說在http這個級別, 協議對於傳送過的請求或響應都不做持久化處理。(無狀態的意思是其資料報的傳送、傳輸和接收都是相互獨立的。)
https:是以安全為目標的http通道,是http的安全版。https的安全基礎是ssl(secure sockets layer 安全套接層),。ssl協議位於tcp/ip協議與各種應用層協議之間,為資料通訊提供安全支援。ssl協議可分為兩層:ssl記錄協議(ssl record protocol),它建立在可靠的傳輸協議(如tcp)之上,為高層協議提供資料封裝、壓縮、加密等基本功能的支援。ssl握手協議(ssl handshake protocol),它建立在ssl記錄協議之上,用於在實際的資料傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密金鑰等。
一、http請求
http請求是客戶端往服務端傳送請求動作,告知伺服器自己的要求。
http請求由狀態行、請求頭、請求正文三部分組成:
狀態行:包括請求方式method、資源路徑url、協議版本version;
請求頭:包括一些訪問的網域名稱、使用者**、cookie等資訊;
請求正文:就是http請求的資料。
二、http響應
伺服器收到了客戶端發來的http請求後,根據http請求中的動作要求,服務端做出具體的動作,將結果回應給客戶端,稱為http響應。
http響應由三部分組成:狀態行、響應頭、響應正文;
狀態行:包括協議版本version、狀態碼status code、回應短語;
響應頭:包括搭建伺服器的軟體,傳送響應的時間,回應資料的格式等資訊;
響應正文:就是響應的具體資料。
三、http和https的區別
1.http的url為http://開頭,https的url為https://開頭
2.http標準埠80,https標準埠是443
3.在osi網路模型中,http工作於應用層,https工作於傳輸層
4.http是不安全的,而https是安全的
5.http無法加密,而https對傳輸的資料進行加密
6.http無需證書,https需要ca機構wosign頒發的ssl證書+
四、https的優點
1、使用https協議可認證使用者和伺服器,確保資料傳送到正確的客戶機和伺服器。
2、https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全,可防止資料在傳輸過程中不被竊取、修改,確保資料的完整性。
3、https是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。
五、https的缺點(對比優點)
1、https協議握手階段比較費時,會使頁面的載入時間延長近50%,增加10%到20%的耗電;。
2、https連線快取不如http高效,會增加資料開銷,甚至已有的安全措施也會因此而受到影響;
3、ssl證書通常需要繫結ip,不能在同一ip上繫結多個網域名稱,ipv4資源不可能支撐這個消耗。
4、https協議的加密範圍也比較有限。最關鍵的,ssl證書的信用鏈體系並不安全,特別是在某些國家可以控制ca根證書的情況下,中間人攻擊一樣可行。
六、http與https的工作原理
http的工作原理:一次http操作稱為乙個事物,其工作過程可分為四步
1、client與server建立連線,單擊某個超連結,http的工作開始。
2、連線建立後,client傳送乙個請求給server,請求方式的格式為:統一資源識別符號(url)、協議版本號,後邊是mime資訊包括請求修飾符,client資訊和可能的內容。
3、server接到請求後,給予相應的響應資訊,其格式為乙個狀態行,包括資訊的協議版本號、乙個成功或錯誤的**,後邊是mime資訊包括server資訊、實體資訊和可能的內容。
4、client接收server返回的資訊通過瀏覽器顯示在使用者的顯示屏上,然後client和server斷開連線。
https的工作原理:
1、client使用https的url訪問web伺服器,要求與web伺服器建立ssl連線。
2、web伺服器收到客戶端請求後,會將**的證書資訊(證書中包含公鑰)傳送乙份給客戶端。
3、客戶端的瀏覽器與web伺服器開始協商ssl連線的安全等級,也就是資訊加密的等級。
4、客戶端的瀏覽器根據雙方同意的安全等級,建立會話金鑰,然後利用**的公鑰將會話金鑰加密,並傳送給**。
5、web伺服器利用自己的私鑰解密出會話金鑰。
6、web伺服器利用會話金鑰加密與客戶端之間的通訊。
HTTPS和HTTP的區別
https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。它是由netscape開發並內置於其瀏覽器中,...
HTTPS和HTTP的區別
https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。它是由netscape開發並內置於其瀏覽器中,...
http和https的區別
在url前加https 字首表明是用ssl加密的。你的電腦與伺服器之間收發的資訊傳輸將更加安全。web伺服器啟用ssl需要獲得乙個伺服器證書並將該證書與要使用ssl的伺服器繫結。http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。http的連線很簡單,是無狀態的...