網站首頁 編程語言 正文
文章目錄
- HTTP協(xié)議
- 處理流程
- HTTPS協(xié)議
- SSL層
HTTP協(xié)議
了解瀏覽器發(fā)起請求并響應的整個過程前,先了解一下HTTP協(xié)議。HTTP(Hyper Text Transfer Protocol)協(xié)議是一個無狀態(tài)的協(xié)議,這就意味著當一個客戶端向服務器發(fā)起一個請求,服務器端做出相應的響應后連接就關閉了,服務器端不會保留跟客戶端有關的信息。
處理流程
- 地址解析
- 當用戶使用瀏覽器發(fā)送https://www.baidu.com/請求時,此請求會被解析如下:
- 協(xié)議名稱:HTTP協(xié)議
- www:萬維網
- 域名:baidu
- 對象路徑:/index.html
- 此過程中,使用DNS協(xié)議將域名解析成百度服務器的IP地址
- 當用戶使用瀏覽器發(fā)送https://www.baidu.com/請求時,此請求會被解析如下:
- 封裝成HTTP格式數據包
- 由兩部分組成:請求頭和請求體
- 請求頭中包含了請求的方式、URL、協(xié)議的版本等
- 使用空行表明接下來是請求體,也就是數據部分
- 由兩部分組成:請求頭和請求體
- 封裝成TCP數據包并建立連接
- 通過與服務器的"三次握手"建立客戶端和服務器端的連接
- 服務器響應
- 建立連接后服務器接收到客戶端發(fā)送的請求,做出相應的響應。按照HTTP協(xié)議格式包含協(xié)議的版本號、狀態(tài)碼及響應的信息等
- 斷開服務器的連接
- 通過"四次揮手"客戶端斷開與服務器的連接
HTTPS協(xié)議
使用HTTPS協(xié)議時,不會直接與服務器建立連接而是先通過SSL(Secure Sockets Layer)層,再由SSL層和傳輸層中的TCP通信。為什么先和SSL層通信?因為HTTPS協(xié)議具有加密、認證安全的特點,都是基于SSL層。
SSL層
采用非對稱加密來確保數據的安全性。其工作原理:
- SSL客戶端通過TCP和服務器建立連接,服務器會將數字整數返回至瀏覽器,整數中包含域名,公鑰密鑰,證書有效期等信息
- 客戶端驗證證書是否有效,確保證書中的域名就是正在連接的域名
- 如果證書有效,則會使用服務器的公鑰進行加密,然后發(fā)送至服務器,服務器則會使用密鑰對中的私鑰進行解密,最后通過隨機密鑰加密,返回至瀏覽器
- 瀏覽器使用隨機密鑰+之前的加密算法進行解密,得到最后的內容
原文鏈接:https://blog.csdn.net/qq_55135629/article/details/127010636
相關推薦
- 2022-03-28 Python?pandas之多級索引取值詳解_python
- 2023-04-26 React使用PropTypes實現類型檢查功能_React
- 2022-03-24 基于Docker的可持續(xù)交付問題_docker
- 2023-02-17 python連接讀寫操作redis的完整代碼實例_python
- 2022-05-22 jQuery常用事件方法mouseenter+mouseleave+hover_jquery
- 2022-11-15 Python一直報錯SyntaxError:invalid?syntax的解決辦法_python
- 2022-05-22 Python臨時文件創(chuàng)建之tempfile模塊介紹_python
- 2022-11-12 Python?sklearn分類決策樹方法詳解_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支