• HTTP和HTTPS的区别、 HTTPS运行原理


    HTTP

    1. 一种用于web浏览器和web服务器基于数据传递的协议
    2. 基于TCP/IP协议的应用层传送,用于客户端和服务器之间的数据交互

    HTTPS

    1. HTTP的安全版,基于SSL或TLS协议,对客户端和服务器之间加密和身份验证,使得数据之间传递具有了安全性

    区别是什么?
    1. https有加密,身份验证,公钥,对称秘钥
    2. 公钥:https在客户端传递给服务器时,拿去到服务端提供的公钥对数据进行加密
    3. 对称秘钥:https在服务器中接收到客户端传递过来的数据,使用自身的对称秘钥解密数据,使得数据之间能够安全传递
    4. 身份认证:http无加密,无法确认是否是中间人,可以篡改数据内容。https,基于SSL或者TLS协议,添加了身份验证,确认了是客户端对服务器的参数
    5. SEO网站排名:https由于安全会比http的网站排名靠前

    三个方面
    安全性
    HTTP:不安全,数据传输过程中,传输数据明文可读,会造成人为攻击,篡改,窃听
    HTTPS:安全,使用加密数据传递,在传输过过程中,使用加密算法进行加密和解密,无法对数据窃听,窃取
    数据加密
    HTTP:不提供数据加密机制,无法保存数据的机密性,敏感信息(登录信息,银行卡)在传输过程中容易截取
    HTTPS:使用SSL/TLS协议,对数据加密,确保了传输的数据,在客户端和服务器中是加密的,提高了机密性和数据的完整性
    端口
    HTTP默认端口80
    HTTPS默认端口443

    HTTPS运行原理
    1、握手协议:客户端和服务器之间通信,建立连接,交换加密算法和公钥;
    2、秘钥交换:客户端生成对称秘钥,服务器使用公钥,对秘钥进行解密,发送给服务器,在使用私钥解密客户端发送过来的数据。获取到对称秘钥;
    3、数据加密:客户端和服务器都有了对称秘钥,双方即可使用该秘钥加密或者解密通信中的数据。
    4、数据传输:双方传输的数据都是加密的,确保了数据的机密性和完整性;
    5、会话维护:通信过程中,客户端和服务器保持会话,以确保数据的连续性和一致性,如果需要,定期重新握手以刷新秘钥;

  • 相关阅读:
    B+ 树的简单认识
    【LeetCode刷题-滑动窗口】--1695.删除子数组的最大得分
    浏览器地址栏输入url地址后发生的一系列事情
    csdn测开涨薪技术-Git原理及使用全套教程
    基于Mxnet实现目标跟踪SMOT【附部分源码】
    java计算机毕业设计招聘信息系统源程序+mysql+系统+lw文档+远程调试
    DOM——事件语法
    计算连续性状的PRS得分
    模板-进阶(没有什么内容,只是一个知识点)
    图神经网络驱动的交通预测技术:探索与挑战
  • 原文地址:https://blog.csdn.net/Principal_Z/article/details/132747830