zoukankan      html  css  js  c++  java
  • http和https

    参考:https://blog.csdn.net/xionghuixionghui/article/details/68569282,https://blog.csdn.net/rainHistory/article/details/78780227

    1. HTTP协议以明文方式发送内容,不提供数据加密,为了解决这一缺陷,HTTPS应运而生,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,为浏览器和服务器之间的通信加密。

    2. HTTP协议的主要作用分为两种:一种是建立一个信息安全的通道,来保证数据传输的安全,另一种是确认网站的真实性。

    3. HTTP与HTTPS的主要区别:

    1. https协议需要ca申请证书,一般需要一定费用。
    2. http是超文本传输协议,信息是明文传输,https具有安全性的ssl加密传输协议。
    3. http和https使用不同的连接方式,且前者端口80,后者443.
    4. http连接简单无状态,https协议由SSL+HTTP协议构建的可进行加密传输、身份认证网络协议,相对安全。

    4. HTTPS 的工作原理

    客户端在使用HTTPS方式与Web服务器通信时有一下几个步骤,如图:

    • 客户端向服务器端的443端口发送https请求
    • 服务器端有一套证书(锁——公钥,钥匙——私钥),公钥中包含证书颁发的机构以及过期时间。服务器将公钥发送给客户端
    • 客户端解析公钥,验证公钥的有效性,接着生成一个随机数,用公钥将随机数加密,并传送回服务器
    • 服务器用私钥解密,获取随机值,之后传送的数据,均通过该随机值进行对称加密传给客户端
    • 客户端和服务器都知道随机值,可以进行安全的信息传输

    5. 证书

      证书的组成:服务端的公钥、服务端信息、证书中心的签名及生成算法、证书有效期等

      签名的生成:证书中心对证书内容计算一个hash值,用证书中心的私钥加密,得到签名。即签名是证书hash值的加密

      证书的验证:客户端内置证书中心的公钥,用公钥对签名解密得到hash值1,自己用相同的hash算法计算证书得到hash值2,比较这两个哈希值是否一致,来判断证书是否可信

    6. HTTPS的缺点

    • 握手阶段比较费时
    • 证书需要钱
    • 连接缓存不如HTTP高效

       

    人生就像蒲公英,看似自由,其实身不由己。
  • 相关阅读:
    CH4302 Interval GCD
    20201017 模拟赛总结
    LOJ#2610. 「NOIP2013」货车运输
    POJ3696 The Luckiest number
    20200925 小练习总结
    更新一波状态
    AFO
    【扩展lucas定理】
    【LCT维护子树信息】uoj207 共价大爷游长沙
    [bzoj4589]Hard Nim(FWT快速沃尔什变化+快速幂)
  • 原文地址:https://www.cnblogs.com/walker993/p/9474670.html
Copyright © 2011-2022 走看看