*HTTP是超文本传输协议,信息是明文传输;
*HTTPS(Secure Hypertext Transfer Protocol):由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议安全超文本传输协议,是具有安全性的ssl加密传输协议;
因此HTTPS要比HTTP协议安全
HTTPs是一个安全通信通道,它是基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,换句话来讲它就是HTTP的安全版。
HTTP是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并且返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层。
HTTPS使用端口443,而HTTP是使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这一般用于商业加密。HTTPS和SSL支持使用X.509数字认证,因此我们可以确认谁是发送者。
HTTPS和HTTP使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费。
通信过程中的数据泄密或者被篡改
一般来讲https, 就是 server 有一个证书.
对于HTTPS来讲服务端和客户端之间的所有通讯,都是加密的.
**具体来说,就是客户端产生一个对称的密钥,通过server 的证书来交换密钥.
之后所有的信息交互就都是加密的. 即使第三方即使截获,也毫无意义.因为他没有密钥. 所以篡改更没什么意义.
由于HTTPS具有加密解密特性所以其特性 一定是繁琐的.
本来简单的http协议,一个get对应一个response. 然而https 要还密钥和确认加密算法.单握手就需要6~7 个往返.
我们知道任何应用中,过多的round trip 肯定影响其性能.会消耗过多CPU。
接下来才是具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密处理。加密后数据量的影响会出现许多安全认证提示。