1. HTTP和HTTPS的基本概念
HTTP:是客户端和服务器端用来传递消息的一种网络超文本传输协议,是一个客户端和服务器端请求和应答的标准(TCP)。
HTTPS:HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
形象解释:你给你的好基友发消息“八点开黑”,消息会先用密匙将“八点开黑”加密成一串字符如“LyINZi8*91%!Cs”,再传输,你的
好基友收到消息后密匙再解密成“八点开黑”!中间只有你和你的好基友能看到“八点开黑”,只要密匙足够安全,第三者也只看的
到“LyINZi8*91%!Cs”这串字符!
2. HTTP与HTTPS的区别
1. 费用不同。https协议需要申请证书,一般免费证书较少,因而需要一定费用。
2. 传输协议不同。http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3. 端口不同。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4. 安全性不同。http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
3. https工作原理:https=http+TLS/SSL
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。
(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
(2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
(3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
(5)Web服务器利用自己的私钥解密出会话密钥。
(6)Web服务器利用会话密钥加密与客户端之间的通信。
加密算法一般分为对称加密与非对称加密:
对称加密
优点:
- 加密强度高,很难被破解
- 计算量小,仅为非对称加密计算量的 0.1%
缺点:
- 无法安全的生成和管理密钥
- 服务器管理大量客户端密钥复杂
非对称加密
优点:安全
缺点:
- 性能低下,CPU 计算资源消耗巨大。
- 加密内容长度有限制,不能超过公钥的长度。