HTTP(Hyper Text Transfer Protocol)超文本传输协议
HTTP的缺点
1.通信使用明文(不加密),内容可能会被窃听
2.不验证通信的身份,因此有可能遭遇伪装
3.无法证明报文的完整性,所以有可能已遭篡改。
HTTPS(Hyper Text Transfer Protocol Security)超文本传输安全协议
HTTPS = HTTP + 加密 + 认证 + 完整性保护
HTTPS 是身披SSL协议这层外壳的HTTP ,在采用SSL后,HTTP就拥有了HTTPS 的加密、证书和完整性保护这些功能。
SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telnet等协议均可配合使用SSL,
SSL是当今世界上应用最为广泛的网络安全技术。
HTTPS使用SSL(Secure Socket Layer)安全套接层和TLS(Transport Layer Security)传输层安全这两个协议。
当前主流的版本是SSL3.0和TLS1.0, TLS是以SSL为原型开发的协议,有时会统一称该协议为SSL。
SSL(Secure Sockets Layer,安全套接层),及其继任者 TLS(Transport Layer Security,传输层安全)
是为网络通信提供安全及数据完整性的一种安全协议。
TLS与SSL在传输层对网络连接进行加密。
为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,
可确保数据在网络上之传输过程中不会被截取及窃听。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:
SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,
为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,
通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
一、什么是SSL?
SSL或者Secure Socket Layer,是一种允许web浏览器和web服务器通过一个安全的连接进行交流的技术。
这意味着将被发送的数据在一端被翻译成密码,传送出去,然后在另一端解开密码,再进行处理。
这是一个双向的过程,也就是浏览器和服务器都需要在发送数据之前对它们进行加密。
HTTPS的优点
尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:
(1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
(2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
(4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。
HTTPS比HTTP要慢2到100倍
为什么不一直使用HTTPS?
既然HTTPS安全可靠,为何所有的Web网站不一直使用HTTPS?
其中一个原因是,与纯文本通信相比,加密通信会消耗更多的CPU及内存资源。如果每次通信都加密,
会消耗相当多的资源,品均摊到一台电脑上,能处理的请求数量也会随之减少。
因此如果是非敏感信息则使用HTTP通信,只有在包含个人信息等敏感数据时,才利用HTTPS加密通信。购买证书也是一笔花销。