☀️HTTP和HTTPS的区别?HTTPS怎么加密的?
Posted °PJ想做前端攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了☀️HTTP和HTTPS的区别?HTTPS怎么加密的?相关的知识,希望对你有一定的参考价值。
前言
面试官:谈谈http和https吧。那https是怎么加密的?
我:🔥…
基本概念
HTTP
互联网上应用最为广泛的一种网络协议,超文本传输协议,是一个基于请求与响应,无状态的
,应用层的
协议,常基于TCP/IP协议
传输数据, 是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS
是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层
,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
区别
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议
构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
- http是超文本传输协议,信息是
明文传输
,https则是具有安全性的ssl加密传输协议
。 - http和https使用的是完全不同的连接方式,用的端口也不一样,http是80,https是443。
- http的连接很简单,是无状态的(可以通过cookie来解决);
- HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
HTTPS的工作原理
步骤:
- 客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
- Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
- 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
- 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
- Web服务器利用自己的私钥解密出会话密钥。
- Web服务器利用会话密钥加密与客户端之间的通信。
原理分析
:实质上利用到了对称和非对称两种加密手段,通过对称加密对数据加密,通过非对称加密对 对称加密的密钥加密。
知识拓展-对称和非对称加密
- 对称加密: 加密和解密的秘钥使用的是同一个.(常见:DES、3DES 、AES )
- 优:算法公开、计算量小、加密速度快、加密效率高
- 缺:不够安全
- 非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。(常见: RSA、DSA(数字签名用))
- 优:安全
- 缺:速度慢
HTTPS缺点
- HTTPS协议多次握手,导致页面的加载时间延长近50%;
- HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;
- 申请SSL证书需要钱,功能越强大的证书费用越高。
- SSL涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗较大。
以上是关于☀️HTTP和HTTPS的区别?HTTPS怎么加密的?的主要内容,如果未能解决你的问题,请参考以下文章
HTTP与HTTPS的区别对称加密和非对称加密什么是数字证书DNS 解析过程TCP和UDP的区别HTTP的特点TCP 和 UDP 对应的应用场景