zoukankan      html  css  js  c++  java
  • 四、HTTP和HTTPS的区别

    1:简介

    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

    为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

    HTTPS和HTTP的区别主要为以下四点:

    (1)https协议需要到ca申请证书,一般免费证书很少,需要交费。

    (2)http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

    (3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

    (4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    2:HTTPS优势

    在目前的技术背景下,HTTPS是现行架构下最安全的解决方案:

    (1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器(防止抓包工具对请求进行抓包分析和篡改);

    (2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

    (3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

    3:HTTPS数据传输流程

    > 浏览器将支持的加密算法信息发送给服务器

    > 服务器选择一套浏览器支持的加密算法,以证书的形式回发浏览器

    > 浏览器验证证书合法性,并结合证书公钥加密信息发送给服务器

    > 服务器使用私钥解密信息,验证哈希,加密响应消息回发浏览器

    > 浏览器解密响应消息,并对消息进行验真,之后进行加密交互数据

    4:HTTPS加密的方式

    > 对称加密: 加密和解密都使用同一个密钥(安全行较非对称加密低,性能较高)

    > 非对称加密: 加密使用的密钥和解密使用的密钥是不相同的(安全行较对称加密高,性能较低)

    > 哈希算法: 将任意长度的信息转换为固定长度的值,算法不可逆

    > 数字签名: 证明某个消息或者文件是某人发出/认同的

  • 相关阅读:
    1. Spring Web MVC
    spring web 文件配置详解
    Socket、SocketServer与WebSocket的关系与区别
    log4j2文件结构
    Spring Bean的生命周期
    Spring 初始化bean过程
    java反射原理与使用
    5、Spring 面向切面的编程
    Impala队列内存参数分析
    IDEA中flink程序报错找不到类
  • 原文地址:https://www.cnblogs.com/eastday/p/10594433.html
Copyright © 2011-2022 走看看