您可能已经听说过很多有关互联网术语 HTTP 和 HTTPS 的信息。您知道两者之间的区别是什么吗?HTTP 在随着技术的不断更新已经慢慢开始消失在互联网之中。在浏览器的地址栏中,您访问的每个网站的 URL 始终以 HTTP 或 HTTPS 开头,而目前 HTTPS 协议被认为更安全。您可能已经注意到,在忙于网络生活的时候,即使是每天拥有近十亿活跃用户的 Baidu,也炫耀了它作为 HTTPS 网站的地位,并且您可以放心地发布或者浏览您想要的信息,而无需三思而后行。
因此,无论是 Baidu 还是涉及您信用卡信息的在线支付,您所要的只是在 URL 中使用 HTTPS 即可。那么,为什么不使用简单的 HTTP 网站进行在线支付或存储您的个人数据呢?两者之间有明显的区别吗?
什么是 HTTP?
它代表“超文本传输协议”,它是基于客户端/服务器通信模式的请求/响应协议。客户端或用户代理是您的 Web 浏览器或任何其他可以访问,接收和显示 Web 内容的设备。
客户端向承载 HTML 内容的服务器发送请求消息,并用可能包含客户端请求的 HTML 内容的响应消息进行回复。响应消息是对服务器已成功接收到请求消息的确认。
因此,HTTP 可以被视为您的 Web 浏览器参考的规则手册,例如在输入网站地址后按 Enter 键时应执行的操作。这是一个无状态协议,这意味着分配给网站的两个连续 HTTP 命令之间没有关系。此外,Web 服务器使用状态代码列表来通知您的浏览器是否有任何问题。例如,当网页没有出现在浏览器中输入的 URL 时,将使用“ 404 Not Found”。
HTTP 最初开发的功劳归功于 Tim Berners-Lee(他提出了“万维网”的构想)和他的 CERN 团队。它是与 HTML(超文本标记语言)一起开发的。第一个 HTTP 文档于 1991 年作为 HTTP/0.9 发布,仅包含一种方法 GET。随着技术不断更新开发取得了进展,1996 年使用 HTTP/1.0,1997 年使用 HTTP/1.1。
HTTP/1.1 促进了持久性连接(同一 HTTP 连接上的多个请求/响应),改进的缓存,新的状态代码,增强压缩支持,Web 应用程序中跨源资源共享的 OPTION 方法等。
HTTP 使用可靠的 TCP(传输控制协议)端口 80 通过网络发送和接收数据包,以用于电子邮件,互联网,文件传输等 Internet 应用程序。但是,它也利用 UDP(用户数据报协议),一种不可靠的协议,但有助于减少网络延迟。UDP 用于实时流传输(不要与 YouTube 上的预加载视频混淆),需要连续的数据包流,但传输过程中损失的数据包很小。
该系列的最新成员是 HTTP/2,它是由 Internet 工程任务组的超文本传输协议工作组开发的。该规范于 2015 年 2 月被 IESG 批准为拟议标准,并于 2015 年 5 月发布。而目前几乎所有 Web 浏览器均已采纳该规范。
此外,名为 HTTP/3 的后继者仅用于将来的升级。自 2020 年 11 月起,它将作为内部草案提供。但是,尽管默认情况下启用了该功能,但包括 Chrome 和 Firefox 在内的多种浏览器已开始提供对 HTTP/3 的支持。
什么是 HTTPS?
HTTPS 的开发是由 AOL 公司 Netscape Communications 于 1993 年开始的,该公司在 1990 年代拥有著名的 Netscape Navigator 网络浏览器。HTTPS 协议最初由 SSL(安全套接字层)实现,后来又升级为使用 SSL 的较新替代 TLS(传输层安全性)。它还使用 TCP 来发送/接收数据包,但为此使用了不同的端口 443。
“ S”在 HTTPS 中代表“安全”。现在,这对外行人来说意味着什么?使用 HTTPS 协议的网站会与您的设备建立加密连接。因此,如果您尝试向网站发送一些数据,请说出任何名字,例如:大眼仔。加密的表格看起来有点像“ xkndsoumnkjbktkctfc”。而且你也看不懂,对吗?
使用公共密钥对要传输的数据进行加密,然后接收者将其用于解密。公钥由服务器管理员或用户创建,包含在称为 SSL 证书的数字证书中,并由 VeriSign 等证书颁发机构签名。必须禁止涉及与未知设备共享公共密钥的任何行为,因为这可能会损害加密级别,最终导致个人信息或用户凭证的泄露。
现在,大多数现代 Web 浏览器都内置了对 HTTPS 协议的支持。集成有 HTTPS 协议的 Web 浏览器需要由证书颁发机构签署的 SSL 证书,才能对服务器或网站进行身份验证。您可能已经在 Google Chrome 浏览器地址栏中的 HTTPS 之前看到了一个绿色的挂锁。单击后,将向您显示该网站的证书颁发机构信息。
您访问的 HTTPS 网站必须向网络浏览器提供有效的证书,以获取浏览器的信任。如果无法这样做,浏览器将显示警告消息。因此,该网站可以免费获得,也可以向认证机构支付一定费用后再获得。
基本上,HTTPS 只是封装在 SSL/TLS 加密层中的 HTTP 连接。这样做是为了保护正在传输的数据的完整性和私密性,并确保数据在传输过程中不会落入他人之手。其主要目的是检查所访问网站的真实性。诸如公共 WiFi 网络之类的不安全连接可能充当中间人攻击和窃听的媒介。
HTTP 和 HTTPS 之间的区别
简而言之,HTTPS 可以看作是对具有更高安全性的 HTTP 的高级修改。但是,默认情况下,HTTP 使用端口号 80,而 HTTPS 使用端口号 443,这将两个不同的连接类型区分开。
HTTP 的唯一目的是在收件人设备上显示信息,而不必担心如何在两个设备之间传输数据。与 HTTPS 相同,唯一的优点是,它使用 SSL/TLS 封装了额外的安全层,VPN 也利用 SSL/TLS 来加密数据,从而防止窃听。