HTTP与HTTPS协议

2023-10-31

HTTP协议与HTTPS协议

一、http与https的区别:
1、默认端口不同:http是80端口,https443端口;
2、安全系数不同:http采用的明文传输,无安全性可言,
https采用ssl/tls加密传输,保证了很大程度的安全性;
3、连接方式不同:
A)、http连接简单,是无状态连接,即同一客户端发送的请求,在服务器端是没有上下文关系的。
因为标准的http协议指的是不包括cookies, session等机制的。
PS: cookies, session等机制是在无状态化的过程中,加入状态化的信息,向状态化过渡的一个手段。
B)、https是由http+SSL组成的,可进行加密传输,身份认证的网络协议。
4、https协议需要CA证书(证书授权中心的),免费的证书较少,而且CA机构颁发的SSL证书是有有效期的,网站所有者必须按时更新证书,因此成本高得多。
5、HTTPS协议因增加了握手、记录、警报机制,会更耗资源。
二、HTTPS中的SSL加密协议的个人总结:
1)、加密方式的理解:
SSL采取了非对称密钥与对称密钥的混合加密方式,保证数据传输的安全性。
SSL的握手阶段: 使用的是非对称加密,可以理解为加密与解密用的密码不同,如客户端用的公共密码,
而服务器用的是私有密码(客户端与服务器是多对一的关系)
SSL的传输阶段: 使用的是对称加密,可以理解为加密与解密用的密码一样。
在SSL协议中,使用的是通过加密算法,根据(客户端的随机数C1+服务端的随机数S+客户端的随机数C2)生成的一个密钥。
2)、握手阶段简述:
在这里插入图片描述

1)客户端将它支持的算法列表+用于密钥产生过程的随机数C1,发送给服务器;
2)服务器从客户端的算法列表中,确认一种加密算法+带有公用密钥的证书+服务器的随机数S,发回给客户端;
3)客户端对服务器的证书进行验证后,取出公钥,同时产生客户端的第二个随机数C2(官方叫pre_master_secret),
这个C2会在采用公钥加密后,发给服务器;
4)服务器根据自己的私钥,提取到了C2这个随机数,此时,客户端与服务器都已经交换知道了三个随机数(C1+S+C2),都可以通过第2步约定的算法,得到一个对称密钥,后续传输数据都可以采用这个对称密钥加密传输。

至此,握手阶段基本完成,此时客户端与服务器,已经可以愉快安全的用对称密钥加密数据,进行传输了。
但是,有些书籍或者论坛上,说还需补充后面2步:
5)客户端将所有握手信息的MAC值发送给服务器;
6)客户端将所有握手信息的MAC值发送给服务器;
MAC的使用可以防止握手本身被攻击,保证信息的完整性,保证消息在发送以后和接收以前没有被篡改。
PS: MAC=HASH(shared-key,serial-num,data),使用HASH散列算法,生成MAC值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP与HTTPS协议 的相关文章

随机推荐

  • 【华为OD机试】数组去重和排序【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 给定一个乱序的数组 删除所有的重复元素 使得每个元素只出现一次 并且按照出现的次数从高到低进行排序 相同出现次数按照第一次出现顺序进行先后排序 输入描述 一个数组 输
  • C# 高速写日志

    感谢作者 https blog csdn net weixin 34023982 article details 85878486 2 解决方案 2 1 简单原理说明 使用列队先缓存到内存 然后我们一直有个线程再从列队中写到磁盘上 这样就可
  • 电磁兼容(EMC):关于接地,你了解多少?

    电路为什么会有多个地 浮地 单点接地和多点接地有什么不同 知乎 一 前言 在EMC的处理方法中 常用的办法就是接地 但是关于接地各位小伙伴们知道多少呢 下面由小编给大家一一道来 二 接地方式 接地可分为四类 浮地 单点接地 多点接地 混合接
  • 八股文(Web篇——网络通讯部分)第十二天

    日期 2022年8月6日 TCP 与 UDP 区别 了解 TCP Transmission Control Protocol 传输控制协议 是一种面向连接 连接导向 的 可靠的 基于 IP 的传输层协议 UDP 是 User Datagra
  • 重装 iTunes 错误代码 42401 解决办法

    手贱把itunes11更新到了itunes12 本来蛮好看的拟物itunes瞬间变成了浓浓的安卓风 于是卸载重装便会提示 安装某个必需的 itunes的组件 42401 本着爱折腾的心百度了一下 结果很多和我一样 但是没有人给出解决办法 于
  • Apache Hop Pipeline Transforms【持续完善中】

    Transforms Abort 取消 DESCRIPTION 描述 一旦接收到输入数据 Abort转换就终止正在运行的管道 此转换的主要用例是在发生意外或不想要的情况时抛出错误 例如 您可以使用此转换 以便在经过错误跳的x行流量后中止管道
  • 顺序表的相关操作(c语言版)

    本学期刚刚学数据结构 如果有不对的地方 还请大家指正 共同进步 一 顺序表基本运算的实现 1 建立顺序表 此处只是简单的实现了将一个数组元素复制到L的data数组中 该算法实现了将数组a 中的元素依次复制到L的data数组中 void Cr
  • jquery给input标签赋值时出现value有值页面没显示的情况

    easyUI页面代码 div class easyui window style width 400px height 150px padding 5px background fafafa div class easyui layout
  • 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?

    for let i 1 i if i 3 2 i 5 3 i 7 2 document write i break 转载于 https www cnblogs com luozhangshuai p 7524858 html
  • PCB设计—AD20和立创EDA设计(1)创建项目

    1 纯新手建议先利用立创EDA画一个PCB 对PCB有一个简单的了解再学习AD20 2 立创EDA教程 立创EDA极速入门 1 熟悉PCB和立创EDA基本操作 立创EDA极速入门 2 完成一个STM32最小系统板 3 因为AD需要自己画原理
  • 职业规划2——如何正确高效长久的学习?

    为什么要学习 可以把握机遇 当机会来临时 不会因为自身实力问题眼睁睁看着它溜走 提高自身能量 吸引同频能量的人 结伴而行 路上会很精彩 异常充实 也可以吸引欣赏你的人 结缘贵人 佳人 提高收入 当累积存储一定知识量时 实践运用起来 就可以很
  • QtSqlDatabase-QCryptographicHash数据库-加密

    文章目录 Qt数据库 1 创建一个数据库连接 2 执行SQL语句 3 加密 QCryptographicHash 加密 Qt数据库 Qt SQL模块是Qt提供的一个访问数据库的接口 支持多种平台下使用不同类型的数据库 在这个过程中 数据库驱
  • linux高并发极限调优

    修改 etc security limits conf文件 添加以下内容 soft nofile 100000 hard nofile 100000 修改内核参数 编辑 etc sysctl conf文件 添加以下内容 设置系统最大文件描述
  • 第五届中国云计算大会 高校俱乐部合作伙伴 邀请函

    尊敬的高校俱乐部合作伙伴 您好 即将迎来由CSDN举办的第五届中国云计算大会 此次会议仍将展示云计算技术最新的研究成果和应用 值得期待 CSDN高校俱乐部诚挚邀请您参加此次业界盛会 时间是6月5日 6月7日 地点是北京国家会议中心 北京市朝
  • 详解Bean注入Spring的方式

    xml 方式 注解方式 Configuration Bean Import FactoryBean BDRegistryPostProcessor 从Spring的IOC特性入手 聊一聊Spring中把Bean注入Spring容器的几种方式
  • 华为OD机试 - 简单密码(C++ & Java & JS & Python)

    目录 描述 输入描述 输出描述 示例1 Java python C 描述 现在有一种密码变换算法 九键手机键盘上的数字与字母的对应 1 1 abc 2 def 3 ghi 4 jkl 5 mno 6 pqrs 7 tuv 8 wxyz 9
  • V4L2操作流程

    打开设备 gt 获取设备capability gt 选择视频输入 gt 设置视频制式及帧格式 gt 向驱动申请帧缓冲 不超过5个 gt 申请物理地址 gt 开始视频采集 gt 出队列取得已经采集数据的帧缓冲 获得原始采集数据 gt 停止视频
  • Python机器学习预测算法

    Python机器学习核心预测算法 Python机器学习核心预测算法 第2章 通过理解数据来了解问题 2 1 解剖一个新问题 2 1 1 属性和标签的不同类型决定模型的选择 2 1 2 新数据集的注意事项 2 2 分类问题 用声呐发现未爆炸的
  • QT界面开发--基础学习篇一(上)

    一 Qt简单介绍 1 QT的简单理解 Qt简单的说就是一种可以跨平台的编程语言工具 可以直接类比C语言和C 且一般QT的代码逻辑也是以C语言和C 也可以适用于像JS的语言 可以直观理解于VScode vs2019 不过它主要处理是以应用程序
  • HTTP与HTTPS协议

    HTTP协议与HTTPS协议 一 http与https的区别 1 默认端口不同 http是80端口 https443端口 2 安全系数不同 http采用的明文传输 无安全性可言 https采用ssl tls加密传输 保证了很大程度的安全性