美文网首页视觉艺术
HTTP 和 HTTPS 的区别

HTTP 和 HTTPS 的区别

作者: 弱冠而不立 | 来源:发表于2020-11-25 21:01 被阅读0次

可以先看对称加密和非对称加密,看完这个就很好理解 HTTPS 为什么要如此繁琐了。

  • HTTP: 端口号 80,超文本传输协议,应用层协议。用于在客户端浏览器和网站服务器之间传递消息。明文方式传递没有任何方式的数据加密,所以不适合传输一些敏感隐私信息。
  • HTTPS: 端口号 443,以安全为目标的HTTP通道,就是HTTP的安全版本,在HTTP的基础下加入SSL层,HTTPS的安全基础就是SSL。SSL证书需要申请。
    HTTPS 以安全为主,所以比HTTP更需要消耗服务器资源(服务端解密),响应速度也比HTTP慢(握手阶段费时)。

HTTPS 请求流程

  1. 浏览器向服务器 443 端口发起请求,请求携带了浏览器支持的加密算法和哈希算法。
  2. 服务器收到请求,选择浏览器支持的加密算法和哈希算法。
  3. 服务器下将数字证书返回给浏览器,这里的数字证书可以是向某个可靠机构申请的,也可以是自制的。
  4. 浏览器进入数字证书认证环节,这一部分是浏览器内置的 TSL 完成的。
    4.1. 首先浏览器会从内置的证书列表中索引,找到服务器下发证书对应的机构,如果没有找到,此时就会提示用户该证书是不是由权威机构颁发,是不可信任的。如果查到了对应的机构,则取出该机构颁发的公钥。
    4.2. 用机构的证书公钥解密得到证书的内容和证书签名,内容包括网站的网址、网站的公钥、证书的有效期等。浏览器会先验证证书签名的合法性(验证过程类似上面 Bob 和 Susan 的通信)。签名通过后,浏览器验证证书记录的网址是否和当前网址是一致的,不一致会提示用户。如果网址一致会检查证书有效期,证书过期了也会提示用户。这些都通过认证时,浏览器就可以安全使用证书中的网站公钥了。
    4.3. 浏览器生成一个随机数 R,并使用网站公钥对 R 进行加密
  5. 浏览器将加密的 R 传送给服务器。
  6. 服务器用自己的私钥解密得到 R。
  7. 服务器以 R 为密钥使用了对称加密算法加密网页内容并传输给浏览器。
  8. 浏览器以 R 为密钥使用之前约定好的解密算法获取网页内容。

一句话概括流程:浏览器发请求给服务器,服务器返回数字证书。浏览器验证证书的合法性。验证合法之后随机生成密钥R,再用证书中的公钥加密R,传送加密后的R。服务器用私钥解密获取到R。最后使用R加密网页内容,返回用R加密的网页内容,浏览器使用R解密网页内容

总结:浏览器验证数字证书的合法性,合法就随机生成一个密钥key,然后用证书里的公钥去加密这个密钥,这个被加密的密钥再发回给服务器,服务器得到被加密的密钥后,用证书的里的私钥去解密这个密钥,然后用这个密钥key去加密数据。浏览器获取到加密的数据,然后用密钥key去解密数据。这样的话用数字证书去解决非对称加密的被冒用身份的风险,用非对称加密去加密对称加密的密钥,解决了对称加密时密钥被劫持后的风险

相关文章

  • HTTP和HTTPS区别

    HTTP HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从W...

  • http和https区别

    1.https协议需要到CA申请证书,免费证书少,需要一定的费用 2.http是超文本传输协议,信息是明文传输 3...

  • http和https区别

    超文本传输协议http协议被用于在web浏览器和网站服务器之间传递信息,http协议以明文方式发送内容,不提供任何...

  • http和https区别

    1、http:HyperText Transfer Protocol 2、https就是躺在SSL(secure ...

  • http和https 区别

    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何...

  • Http和Https区别

    为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HT...

  • http和https区别

    https://blog.csdn.net/qq_38289815/article/details/8096941...

  • http和https区别

    1、HTTP和HTTPS的基本概念: HTTP:超文本传输协议,是在互联网上应用最广泛的一种网络协议。是一个客户端...

  • http和https区别

    https://blog.csdn.net/qq_38289815/article/details/8096941...

  • HTTP 和 HTTPS 的区别

    首先我们还是简单的描述一下专业定义。 HTTP 是怎么定义的? HTTPS 又是怎么定义的? HTTP (全称 H...

网友评论

    本文标题:HTTP 和 HTTPS 的区别

    本文链接:https://www.haomeiwen.com/subject/skuubktx.html