超文本传输协议 (HTTP) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议,是应用层的协议,其传输层采用的是TCP协议,HTTP和HTTPS都被用于在Web浏览器和网站服务器之间传递信息,那么HTTPS与HTTP有什么区别呢?
1:SSL
SSL中文名为安全套接字层,现如今是应用最广泛的数据加密协议,该协议主要用于Web的安全传输协议。该协议历经了三个版本,分别是SSL1.0、SSL2.0、SSL3.0。直到IETF将SSL进行了标准化,并将其称为TLS(传输层安全)。严格来说TLS(传输层安全)是更为安全的升级版 SSL,而现在用的也基本是TLS协议。SSL及其继任者TSL是为网络通信提供安全及数据完整性的一种安全协议,TLS与SSL在传输层对网络连接进行加密。SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。
2:HTTP
是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
3:HTTPS
HTTPS被称为安全超文本传输协议,是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。)HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
https协议主要针对解决http协议以下不足:
1.通信使用明文(不加密),内容可能会被窃听
2.不验证通信方身份,应此可能遭遇伪装
3.无法证明报文的完整性(即准确性),所以可能已遭篡改
http+加密+认证+完整性保护=https
HTTPS和HTTP的区别主要如下:
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用.
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的,无状态是指对事务处理没有记忆能力,缺少状态意味着对后续处理需要的信息没办法提供,只能重新传输这些信息,这样就会增大数据量
- HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。