• 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高效

       

    人生就像蒲公英,看似自由,其实身不由己。
  • 相关阅读:
    迭代器和生成器
    函数嵌套
    页面调用dll
    C++MFC之picture control控件铺满图片
    C++中去掉string字符串中的 等
    C++之map使用
    C++之条形码,windows下zint库的编译及应用(二)
    C++之条形码,windows下zint库的编译及应用(一)
    C++通过HTTP请求Get或Post方式请求Json数据(转)
    从长字符串中获取想要的字符串
  • 原文地址:https://www.cnblogs.com/walker993/p/9474670.html
Copyright © 2020-2023  润新知