文章目录
HTTP的缺点
- HTTP协议通信使用明文(未加密的报文),不对传输内容进行加密。如果使用fiddler等抓包工具可以很轻松地截取到HTTP的请求与响应报文(事实上我在做网站的时候经常用fiddler抓包来查看报文内容)
- HTTP不会验证通信双方的身份。因此有可能出现别的人伪装成对方来和你通信,即通信双方很可能是伪装的,比如我访问百度首页,我并不知道这个响应就是百度返回给我的,也可能是别的人伪装成百度来和我通信
- HTTP无法证明报文的完整性。有可能报文被截取以后被篡改了再发给我,这样我得到的就是被篡改了的报文。
以上三个缺点,可以简要地归结为如下三点:易被窃听,无身份验证,易被篡改。
事实上,不仅仅是HTTP协议,几乎所有的不加密的协议都会出现此类问题。
- 在日常互联网浏览网页时,我们接触到的大多都是 HTTP 协议,这种协议是未加密,即明文的,这使得 HTTP 协议在传输隐私数据时非常不安全。因此,浏览器鼻祖 Netscape 公司设计了 SSL(Secure Sockets Layer) 协议,用于对 HTTP 协议传输进行数据加密,即 HTTPS 。
- SSL 目前版本是 3.0,之后升级为了 TLS(Transport Layer Security) 协议,TLS 目前为 1.2 版本。如未特别说明,SSL 与 TLS 均指同一协议。
HTTP和HTTPS协议的区别
-
HTTPS协议需要到证书颁发机构(Certificate Authority,简称CA)申请证书,一般免费证书很少,需要交费。
-
HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。
-
HTTP和HTTPS使用的是完全不同的连接方式,使用的端口也不一样,前者是80,后者是443。
-
HTTP的连接很简单,是无状态的 。
-
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议, 要比HTTP协议安全。
-
HTTPS 和HTTP 协议相比提供了: