HTTP超文本传输协议
HTTP协议被用于在浏览器和服务器之间传输信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,
因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等信息。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,
为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
(SSL(Secure Sockets Layer 安全套接字协议)
HTTP与HTTPS有什么区别?
简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书。(证书颁发机构(CA, Certificate Authority))
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
HTTPS的工作原理
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤:
1、客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
2、Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
3、客户端的浏览器利用网站的公钥将会话密钥加密,并传送给网站。
4、Web服务器利用自己的私钥解密出会话密钥。
5、Web服务器利用会话密钥加密与客户端之间的通信。
注:
浏览器客户端维护一个受信任的CA机构列表,并保存了这些机构的证书。
第一阶段,服务器会提供经CA机构认证颁发的服务器证书。
如果认证该证书的CA机构存在于客户端浏览器的受信任CA机构列表中,
并且服务器证书中的信息与当前正在访问的网站(域名)等一致,
那么浏览器就认为改服务端是可信的,并且从服务器证书中取出服务器公钥。