一. 概念
超文本传输安全协议 HyperText Transfer Protocol Secure,HTTPS;常称为 HTTP over TLS、HTTP over SSL或HTTP Secure,是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。
历史上,HTTPS连接经常用于万维网上的交易支付和企业信息系统中敏感信息的传输。在2000年代末至2010年代初,HTTPS开始广泛使用,以确保各类型的网页真实,保护账户和保持用户通信,身份和网络浏览的私密性。
另外,还有一种安全超文本传输协议(S-HTTP)的HTTP安全传输实现,但是HTTPS的广泛应用而成为事实上的HTTP安全传输实现,S-HTTP并没有得到广泛支持。
HTTPS的主要作用是在不安全的网络上创建一个安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的防护。
HTTPS的信任基于预先安装在操作系统中的证书颁发机构(CA)。因此,到一个网站的HTTPS连接仅在这些情况下可被信任:
- 浏览器正确地实现了HTTPS且操作系统中安装了正确且受信任的证书颁发机构;
- 证书颁发机构仅信任合法的网站;
- 被访问的网站提供了一个有效的证书,也就是说它是一个由操作系统信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);
- 该证书正确地验证了被访问的网站(例如,访问
https://example.com
时收到了签发给example.com
而不是其它域名的证书); - 此协议的加密层(SSL/TLS)能够有效地提供认证和高强度的加密。
HTTPS不应与在 RFC 2660 中定义的安全超文本传输协议(S-HTTP)相混淆。
二. https 与 http的不同
http:
1.无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作;
2.无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量;
3.基于请求和响应:基本的特性,由客户端发起请求,服务端响应;
4.简单快速、灵活
5.通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性
https:
1.内容加密:采用混合加密技术,中间者无法直接查看明文内容
2.验证身份:通过证书认证客户端访问的是自己的服务器3.保护数据完整性:防止传输的内容被中间人冒充或者篡改
不同点:
1.https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4.http是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。