解读HTTP与HTTPS的区别
1 什么是HTTPS
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。
它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
HTTPS使用端口443,而不是象HTTP那样使用端口80来通信。
SSL使 用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。
HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
2 HTTPS和HTTP的区别:
https协议需要到CA申请证书,一般免费证书很少,需要交费。
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议
http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的
HTTPS协议是由SSL+HTTP协议构建的,可进行加密传输、身份认证,比http协议安全
3 HTTPS解决的优点:
1) 信任主机的问题.
采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书.
该证书只有用于对应的server 的时候,客户才信任主机.
所以目前所有的银行系统网站,关键部分应用都是https 的.
客户通过信任该证书,从而信任了该主机.
2)防止通讯过程中的数据的泄密和被窜改
(1) 一般意义上的https, 就是 server 有一个证书.
主要目的是保证server 就是他声称的server,而不是假冒的服务器。
(2) 少许对客户端有要求的情况下,会要求客户端也必须有一个证书,防止假冒的客户端。
这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码,
还有一个CA 认证过的身份.
应为个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份.
目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体.
(3)服务端和客户端之间的所有通讯,都是加密的.
第三方即使截获,也没有任何意义.
因为他没有密钥. 当然窜改也就没有什么意义了.
4 HTTPS的缺点:
1) 由于https,握手就需要6/7 个往返,加密和解密过程需要耗费系统大量的开销,
严重降低机器的性能。如果服务器CPU 性能比较低的话,就不能处理更多的请求.
2) 加密后对数据量的影响很大,
用HTTPS协议传输数据的工作效率只有使用HTTP协议传输的十分之一
所以,尽量不要使用https。