热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络http1.0,http2.0,https之间的区别以及HTTPS工作流程加密方式

文章目录一、HTTP1.0和HTTP2.0的区别二、HTTP和HTTPS的区别三、HTTPS1.工作流程2.加密方式一、HTTP1.0和HTTP2.0的区别总的区别就是ÿ

文章目录

  • 一、HTTP1.0和HTTP2.0的区别
  • 二、HTTP和HTTPS的区别
  • 三、HTTPS
    • 1.工作流程
    • 2.加密方式


一、HTTP1.0和HTTP2.0的区别

总的区别就是:

  1. HTTP/2采用二进制格式而非文本格式
  2. HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
  3. 使用报头压缩,HTTP/2降低了开销
  4. HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

二、HTTP和HTTPS的区别

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS协议的主要作用可以分为两种:

  1. 建立一个信息安全通道,来保证数据传输的安全;
  2. 另确认网站的真实性

两者主要区别如下:

  1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
    (https加密方式是:对称与非对称结合)

三、HTTPS

1.工作流程


  1. HTTPS协议,与服务器的443端口连接,客户端将自身支持的加密算法列表(如SSL 的版本、加密算法和数据压缩方法/Hash 算法)以及生成客户端加密随机数(client_random)一起发送给服务端,开始 SSL 握手。

  2. 服务器端选出的一套加密算法、压缩算法和SSL 数字证书,并生成服务端随机数(server_random),一起返回给客户端。

  3. 客户端浏览器开始进入数字证书认证环节,这一部分是浏览器内置的TLS完成的。

    首先浏览器会从内置的证书列表中索引,找到服务器下发证书对应的机构,如果没有找到,此时就会提示用户该证书是不是由权威机构颁发,是不可信任的。如果查到了对应的机构,则取出该机构颁发的公钥。用机构的证书公钥解密得到证书的内容和证书签名,内容包括网站的网址、网站的公钥、证书的有效期等。验证通过后,就可以安全使用证书中的网站公钥了。

  4. 浏览器将根据客户端随机数、服务端随机数及协议版本等信息,生成随机数 premaster_secret和主密钥 master_secret,并使用公钥 对premaster_secret加密得到R,然后发送给服务端。

  5. 服务端用私钥解密接收到的数据,得到R。

  6. 服务端以R为密钥使用对称加密算法加密网页内容并传输给浏览器。

  7. 客户端以R为密钥使用之前约定好的解密算法获取到网页内容,浏览器客户端开始进入渲染流程。


  • 备注1:前4步其实就是HTTPS的握手过程,这个过程主要是认证服务端证书(内置的公钥)的合法性。因为非对称加密计算量较大,整个通信过程只会用到一次非对称加密算法(主要是用来保护传输客户端生成的用于对称加密的随机数私钥)。后续内容的加解密都是通过一开始约定好的对称加密算法进行的。

  • 备注2:SSL/TLS是HTTPS安全性的核心模块,TLS的前身是SSL,TLS1.0就是SSL3.1,TLS1.1是SSL3.2,TLS1.2则是SSL3.3。 SSL/TLS是建立在TCP协议之上,因而也是应用层级别的协议。其包括TLS Record Protocol和TLS Handshaking Protocols两个模块,后者负责握手过程中的身份认证,前者则保证数据传输过程中的完整性和私密性。

在这里插入图片描述

概况为:

  • 用不对称加密协商用哪种对称加密方式。
  • 用协商好了的对称加密,加密内容。

2.加密方式

用不对称加密协商用哪种对称加密方式。

(https加密方式是:对称与非对称结合)

参考文章:

https://blog.csdn.net/striveb/article/details/84230923

本文链接https://blog.csdn.net/qq_39903567/article/details/115458315


推荐阅读
author-avatar
php麟状
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有