我看你簡歷上寫了HTTPS,那你講一下吧
什麼是HTTPS
簡單來說就是把 HTTP 進行加密,把 HTTP 協議建立在 SSL/TLS 上面。 SSL Secure Socket Layout -> TLS Transport Layout Secure
在HTTP之下增加一個安全層,用戶保障 HTTP 的加密。
本質就是:在客戶端和服務器端之間協商出一個對稱密鑰,每次發送消息之前將內容加密,收到之後解密,達到對傳輸內容的加密。
加密過程是怎樣的?
- 客戶端向服務器請求建立連接。[附加 TLS 版本;Cipher Suite: 接受的對稱加密和非對稱加密算法和哈希算法;隨機數]
- 服務器向客戶端返回。[附加 TLS 版本;Cipher Suite: 接受的對稱加密和非對稱加密算法和哈希算法;隨機數]
- 服務器返回證書。核心是公鑰,附加服務器的域名,證書籤名。
- 唯一一次非對稱加密,用服務器發來的公鑰,加密 Pre-master Secret(也是隨機數)
- 客戶端開始使用加密通信。
- 客戶端發送:把前面的東西都包括起來,發到服務器。
- 服務器開始使用加密通信。
- 服務器把上面的所有發到客戶端。
- 開始HTTPS請求。