1. 程式人生 > >HTTP和HTTPS原理

HTTP和HTTPS原理

HTTP:超文字傳輸協議
URL:統一資源定位符。
HTTP的連線方式和無狀態性
1.非永續性連線
當請求完成後,就釋放連線。即每次重新整理訪問頁面都重新建立連線。
2.永續性連線
在伺服器傳送完響應後,不會立即釋放連線。
3.無狀態性
客戶端第二次訪問同一個web伺服器時,伺服器無法識別這個客戶曾經訪問過。
HTTP工作原理:
在這裡插入圖片描述
HTTP請求方法:
在這裡插入圖片描述
HTTP響應狀態碼:
在這裡插入圖片描述
Session:是可以儲存針對於某一個使用者的瀏覽器以及通過其當前視窗開啟的任何視窗具有針對性的使用者資訊儲存機制。
客戶端儲存SessionID和對應程式。伺服器端儲存SessionID和對應鍵值對。
Cookie:是在客戶端儲存鍵值對的技術。
SSL:是一種位於傳輸層協議之上,對上層協議提供封裝加密,並支援認證的協議。
SSL VPN:是一種運用SSL協議來實現的遠端安全接入技術。
SSL通過三個協議實現:
1.SSL握手協議:被封裝在記錄協議中,用於伺服器和客戶的認證,協商加密演算法和金鑰。
2.SSL修改密文協議:一定時間內修改加密規範。
3.SSL報警協議:用於給對方傳送警示訊息通告。
SSL協議結構:在這裡插入圖片描述


SSL通訊過程:在這裡插入圖片描述
實現方法:
1.WEB代理
只能提供對HTTP的封裝。
客戶端訪問時使用SSL VPN伺服器的URL為字首,被訪問伺服器為URL字尾的特殊URL來訪問。在訪問過程中,客戶端和VPN伺服器通訊是加密的,VPN伺服器和WEB伺服器通訊是不加密的.
在這裡插入圖片描述
在這裡插入圖片描述
優點:四層VPN,不需要對三層等包頭進行處理,只需要對四層及之後的內容進行封裝加密。不會對三層之前的內容產生影響。可以輕易穿越NAT等內外網區域。而且使用成本低,不需要裝取客戶端程式。只需要瀏覽器支援即可,為手機等移動裝置提供便利。
缺點:只支援HTTP。
2.SSL埠對映:
客戶端訪問時訪問內網環回IP提供的服務,客戶端必須安裝應用程式,環迴流量會被應用程式捕捉到。並轉換為VPN伺服器IP+隨機埠,併發送給VPN伺服器,VPN伺服器接收到後根據對映錶轉化為服務提供伺服器IP+服務埠。在得到響應後將響應內容通過對映表傳送回客戶端。
總共生成兩個對映表,(1)將環回IP+埠對映為VPN伺服器公網IP+埠
(2)將VPN公網IP+埠對映為內網IP+埠

在這裡插入圖片描述

在這裡插入圖片描述在這裡插入圖片描述
優點:支援所有TCP應用。
缺點:不支援TCP以外的協議。
3.IP 連線。
需要裝載虛擬網絡卡,可以實現所有流量的封裝,類似與傳統的隧道。不同的是它是一種四層隧道。會將所有流量的三層及以上資料封裝到SSL層之後,並新增新的IP包頭和TCP包頭。
在訪問時通過路由技術將流量傳送給虛擬網絡卡,虛擬網絡卡通過DNS將流量封裝進SSL會話中傳送給VPN伺服器。VPN收到後解封裝傳送給內請求伺服器。
虛擬網絡卡通常會向客戶端下放預設路由。
在這裡插入圖片描述在這裡插入圖片描述
優點:可以為所有流量提供VPN服務。
缺點:需要安裝虛擬網絡卡,並且因為封裝頭部較多,所以效能速度較慢。