说起HTTP,大家应该都知道,这是互联网上应用最为广泛的一种网络协议,全称是Hyper Text Transfer Protocol(超文本传输协议)。它是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个模型是早期Web成功的大功臣,因为它大大提高了网络传输的效率。
HTTP是一种应用层协议。同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。但它凭借着自身独有的优势,大力推动了www万维网的发展和普及。因此,早在1990年时,http就成为了www的支撑协议,万维网上所有的网站域名都是以http开头的,就算你自己不输入这四个字符,系统也会自动帮你补全。
然而,今天的你,打开浏览器上网时会发现,很多网站的域名上,已经不再是http开头了,取而代之的是https。这是什么意思呢?
HTTPS全称是Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,即超文本传输安全协议。简单说来,它是HTTP的安全加强版,用于保护所传输的信息内容。HTTPS协议的主要有两个作用:一是建立一个信息安全通道,来保证数据传输的安全;另外就是确认网站的真实性。
如果要对比一下,HTTP与HTTPS二者之间的区别大致如下:
OK,上面又出现了一个新概念,SSL,这是个什么鬼?
SSL全称是Secure Sockets Layer,即安全接层,是一种标准协议,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保隐私数据的安全性和完整性,防止被截取及窃听。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议提供的安全通道有以下三个特性:
SSL协议可分为两层:
SSL证书就是遵守SSL协议,由受信任的CA机构颁发的数字证书。使用SSL证书有许多好处:
所以,话题回到HTTPS上,我们可以这么理解:HTTPS=HTTP+SSL,即HTTPS的安全基础是SSL。如果想要建立HTTPS连接,则首先必须从受信任的证书颁发机构(CA)机构注册 SSL证书。安装SSL证书后,网站地址栏HTTP后面就会多一个“S”,还有绿色安全锁标志。
随着SSL的发展,从1.0版本升级到2.0版本,再升级到3.0版本。此时,IETF组织(Internet Engineering Task Force,Internet工程任务组)对其进行了规划化处理,将其升级为了另外一种新的协议,称之为TLS(Transport Layer Security,传输层安全性协议),目的是为互联网通信提供安全及数据完整性保障。它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为SSL 3.1。
TLS协议主要解决如下三个网络安全问题:
TLS协议可以分为两部分:
TLS协议的优势是与高层的应用层协议(如HTTP、FTP、Telnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密通道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。