当前位置: 首页 > article >正文

了解一下HTTP 与 HTTPS 的区别

介绍:

        HTTP是超文本传输协议。规定了客户端(通常是浏览器)和服务器之间如何传输超文本,也就是包含链接的文本。通常使用TCP【1】/IP协议来传输数据,默认端口为80

        

        HTTPS是超文本传输安全协议,具有CA证书。在HTTP的基础上增加了TLS【2】协议,为数据传输提供了加密、数据完整性和身份验证保护,默认端口为443

特点: 

HTTP:

  1. 无状态性:每次请求都是独立的,服务器不会记住之前的请求或用户信息
  2. 明文传输:数据以明文的形式传输,不加密,容易被截获和窃听。
  3. 快速:由于没有加密过程,HTTP通常比HTTPS更快。
  4. 灵活性:HTTP允许轻松地实现各种服务与应用。

HTTPS:

        1.加密通信:HTTPS通过TLS证书实现对数据的加密处理,只有当拥有正确密钥的接收方才能解读数据内容。

        2.身份认证:服务器向客户端出示TLS证书,客户端验证证书的有效性和服务器身份,确保连接到的是正确的服务提供者。

        3.数据完整性:除了加密外,HTTPS还利用消息认证码(MAC)来保护数据完整性,防止数据在传输的过程中被篡改。

补充:

       【1】 TCP是传输层,TLS(1.2版本居多,前身是SSL)是传输层安全协议,即TLS是在TCP之上增加的一层安全防护协议。

【2】图来源

HTTPS 建立连接的握手顺序?

        HTTPS 建立连接的过程,先进行 TCP 三次握手,再进行 TLS 四次握手

为什么先tcp再tls?

        因为 HTTPS 都是基于 TCP 传输协议实现的,得先建立完可靠的 TCP 连接才能做 TLS 握手的事情

 易混淆:

TCP建立连接需要三次握手,关闭连接为四次挥手。

TLS建立连接需要四次握手(大多情况),关闭连接称为关闭通知。

TCP 聚焦于建立稳定的连接,而 TLS 则注重建立安全的通信通道


http://www.kler.cn/news/292829.html

相关文章:

  • FP7195:非同步升压恒流LED区动IC
  • C#实战|大乐透选号器[3]:动态生成大乐透蓝球区选择球及实现拖动窗体功能
  • Flask+LayUI开发手记(六):树型表格的增删改查
  • 网络编程 0905作业
  • 在ABAP开发中,BSEG和BKPF的数据如何做关联查询?
  • Unity(2022.3.41LTS) - UI详细介绍-TMP
  • WordPress的安装与简单开发教程
  • springboot 配置ssl支持https
  • 软通动力子公司鸿湖万联重磅发布SwanLinkOS 5,擘画开源鸿蒙AI PC新篇章
  • 七、装饰器模式
  • 薄膜制造革新-平扫式自动风环测厚仪
  • 基于 Python 的 LIF 模型:探索神经元同步与小世界网络
  • Ubuntu20上的Qt程序连接Windows上的mssql服务器
  • Tableau 社区项目 | 参与 Data+TV 挑战,洞悉全球电视剧集数据的精彩故事!
  • vue3获取视频时长、码率、格式等视频详细信息
  • pytorch torch.squeeze函数介绍
  • 2024年高教社杯全国大学生数学建模竞赛A题思路(2024数学建模国赛A题思路)
  • Flutter 局部变量刷新问题
  • “全面解析审核运营:策略、流程、案例,一本通吃!
  • 牛牛替换(c语言)
  • 系规学习第21天
  • vue3定义响应式数据(ref,reactive)
  • C++ STL容器-Vector容器概念及应用方法详解
  • SSH免秘钥问题
  • 【netty系列-09】深入理解和解决tcp的粘包拆包
  • 一文讲清楚,AI、AGI、AIGC与AIGC、NLP、LLM,ChatGPT等概念
  • 【云计算】什么是云计算服务|为什么出现了云计算|云计算的服务模式
  • 动手学深度学习8.2. 文本预处理-笔记练习(PyTorch)
  • 计算机网络八股文之TCP协议
  • FPGA随记---inout端口的处理