https簡單的說就是http的安全版。http協議傳輸的資料都是未加密的,也就是明文,這對於傳輸一些私密的資訊來說是不安全的,於是就出現了https,https是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http安全。
它們的主要區別:
簡單說一下https的工作流程?
客戶端使用https的url訪問web伺服器,要求與web伺服器建立ssl連線。
web伺服器收到客戶端請求後,會將**的證書資訊(證書中包含公鑰)傳送乙份給客戶端。
客戶端的瀏覽器與web伺服器開始協商ssl連線的安全等級,也就是資訊加密的等級。
客戶端的瀏覽器根據雙方同意的安全等級,建立會話金鑰,然後利用**的公鑰將會話金鑰加密,並傳送給**。
web伺服器利用自己的私鑰解密出會話金鑰。
web伺服器利用會話金鑰加密與客戶端之間的通訊。
建議與此部落格共同食用 http與https的區別客戶端如何校驗 ca 證書?
ca 證書中的 hash 值,其實是用證書的私鑰進行加密後的值(證書的私鑰不在 ca 證書中)。然後客戶端得到證書後,利用證書中的公鑰去解密該 hash 值,得到 hash-a ;然後再利用證書內的簽名 hash 演算法去生成乙個 hash-b 。最後比較 hash-a 和 hash-b 這兩個的值。如果相等,那麼證明了該證書是對的,服務端是可以被信任的;如果不相等,那麼就說明該證書是錯誤的,可能被篡改了,瀏覽器會給出相關提示,無法建立起 https 連線。除此之外,還會校驗 ca 證書的有效時間和網域名稱匹配等。
假設現在有客戶端a和伺服器b:
快取處理。http1.1加入了更多的快取頭來控制快取策略;
頻寬的優化。http1.0中,存在一些浪費頻寬的現象,例如客戶端只是需要某個物件的一部分,而伺服器卻將整個物件送過來了。http1.1則在請求頭引入了range頭域,它允許只請求資源的某個部分,充分利用了頻寬;
長連線。http1.1支援了長連線,減少了在建立和關閉連線時不必要的消耗和延遲。
錯誤通知的管理,在http1.1中新增了24個錯誤狀態響應碼;
http1.1的請求訊息和響應訊息都應支援host頭域。
注意:http長連線指的是tcp的連線
http1.0是短連線,http1.1預設是長連線,也就是預設connection的值就是keep-alive。但是長連線實質是指的tcp連線,而不是http連線。tcp連線是乙個雙向的通道,它是可以保持一段時間不關閉的,因此tcp連線才有真正的長連線和短連線這一說。get主要是從指定的資源請求資料。post是向指定的資源提交要被處理的資料
get請求提交的資料是放在url上的,但post是放在請求體裡,所以在get的資料大小是收到url的限制,但post請求就沒有限制。
post請求比get請求更安全,因為請求資料放在url上很容易就被第三方盜取,但把資料放在請求體的post就相對來說更安全。
作用:
http協議是一種無狀態協議,在資料交換完畢後,服務端和客戶端的鏈結就會關閉,每次交換資料都需要建立新的鏈結。此時,伺服器無法從鏈結上跟蹤會話。cookie和session可以跟蹤會話,彌補http無狀態協議的不足。
區別:
session機制採用的是在服務端保持狀態的方案,而cookie機制則是在客戶端保持狀態的方案。
cookie原理:
session原理:
有關tcp/udp的面試問題
建議檢視筆者的這篇部落格
android面試必備佳品之tcp與udp協議
妥妥的去面試之計算機網路
https簡單的說就是http的安全版。http協議傳輸的資料都是未加密的,也就是明文,這對於傳輸一些私密的資訊來說是不安全的,於是就出現了https,https是由ssl http協議構建的可進行加密傳輸 身份認證的網路協議,比http安全。它們的主要區別 簡單說一下https的工作流程?客戶端使...
面試之計算機網路
常見的路由選擇協議有 rip協議 ospf協議。rip協議 底層是貝爾曼福特演算法,它選擇路由的度量標準 metric 是跳數,最大跳數是15跳,如果大於15跳,它就會丟棄資料報。ospf協議 底層是迪傑斯特拉演算法,是鏈路狀態路由選擇協議,它選擇路由的度量標準是頻寬,延遲。http協議執行在tcp...
面試 計算機網路 計算機網路概述
隨著技術的發展,電信網路和有線電視網路都逐漸融入了現代計算機網路的技術,這就產生了 網路融合 的概念。連通性 共享 網際網路的拓撲結構雖然非常複雜,並且在地理上覆蓋了全球,但從其工作方式上看,可以劃分為以下的兩大塊 2 核心部分 由大量網路和連線這些網路的路由器組成。這部分為邊緣部分提供服務 提供連...