引言
早些年,HTTP协议传输的数据都是没有加密的,也就是明文的,因此使用HTTP协议传输隐私信息是非常不安全的,为了保证这些隐私数据能加密传输,网景公司设计了SSL(Secure Sockets Laver)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架。iOS9以后,iOS系统越来越重视用户的隐私和安全,访问相机、位置等信息都需要添加一些对应的key。在2017年,Apple的AppStore审核机制也会更加严格,使自己的应用尽快的支持Https请求,是开发者不得不做的项目修改。
一.HTTP与HTTPS
HTTP
HTTP是一种常用的网络传输协议,基于TCP的一种应用层协议。但是在安全性方便存在着一些问题。例如:
1.HTTP协议在传输数据时是明文的,凡是懂一点小技术的人都可以通过一些抓包工具截取传输的数据。
2.HTTP协议在传输数据时无法保证数据的完整,在截获明文数据后,很容易就可以将其篡改,这也是一些网页老是被植入一些恶意不健康的广告原因之一。
3.HTTP协议在传输数据时无法保证真实性,这是最重要的一点!!!对于一些太单纯的人容易误入了域名欺骗的钓鱼网站,极容易对用户带来财产损失。
综上所述,于是乎就推出一种更完善更安全的HTTPS网络传输协议。
HTTPS
再讲HTTPS协议,首先你需要弄明白什么是SSL/TLS,SSL(Secure Sockets Layer)安全套接层。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101中,之后IETF对SSL 3.0进行了升级,于是出现了TLS(Transport Layer Security) 1.0,定义在RFC 2246。实际上我们现在的HTTPS都是用的TLS协议,但是由于SSL出现的时间比较早,并且依旧被现在浏览器所支持,因此SSL依然是HTTPS的代名词,但无论是TLS还是SSL都是上个世纪的事情,SSL最后一个版本是3.0,今后TLS将会继承SSL优良血统继续为我们进行加密服务。
关于HTTPS更多资料可参考:
HTTPS 科普扫盲帖
HTTPS中的加密算法相关概念
HTTPS 协议降级攻击原理
HTTPS 工作原理和 TCP 握手机制
SSL/TLS协议运行机制的概述
SSL/TLS 握手优化详解