超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS 在 HTTP 的基础上加入了SSL协 议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输 协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的 HTTP 通道,简单讲是HTTP的安全版,即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。
HTTPS 协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
HTTP 协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设 计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构 建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS 和 HTTP 的区别主要如下:
我们都知道 HTTPS 能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示

尽管 HTTPS 并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但 HTTPS 仍是现行架构下最安全的解决方案,主要 有以下几个好处:
虽然说 HTTPS 有很大的优势,但其相对来说,还是存在不足之处的:
如果需要将网站从 http 切换到 https 到底该如何实现呢?
里需要将页面中所有的链接,例如 js,css,图片 等等链接都由 http 改为 https。例如:http://www.baidu.com 改为 https://www.baidu.com
BTW,这里虽然将 http 切换为了 https,还是建议保留 http。所以我们在切换的时候可以做 http 和 https 的兼容,具体实现方式是,去掉页面链接中的 http 头部,这样可以自动匹配 http 头和 https 头。例如:将 http://www.baidu.com 改为 //www.baidu.com。然后当用户从http的入口进入访问页 面时,页面就是 http,如果用户是从 https 的入口进入访问页面,页面即使 https 的。

