您或许对互联网术语中的HTTP和HTTPS有所耳闻。那么,您是否了解这两者之间的具体差异呢?事实上,随着技术的不断演进,HTTP正逐渐在互联网世界中黯然失色。
在浏览器的地址栏中,我们访问的每个网站URL都是以HTTP或HTTPS开头的。而现如今,HTTPS协议因其更高的安全性而备受推崇。或许您已有所察觉,在繁忙的网络生活中,即使是拥有近十亿活跃用户的Baidu,也以其作为HTTPS网站的身份为傲。这意味着,当您浏览或发布信息时,可以更加放心,无需过多犹豫。
因此,无论是Baidu还是处理信用卡信息的在线支付服务,保障安全的关键就是在网址中启用HTTPS。那么,你可能会问,为什么我们不选择使用简单的HTTP网站来处理在线支付或存储个人信息呢?这两者之间究竟有何不同?
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系列的最新成员是HTTP/2,由Internet工程任务组的超文本传输协议工作组开发。该规范于2015年2月被IESG批准为拟议标准,并于2015年5月正式发布。目前,几乎所有的Web浏览器都已采纳这一规范。
此外,名为HTTP/3的后继版本也在开发中,预计将成为未来的升级方向。自2020年11月起,它作为内部草案提供。尽管默认情况下该功能尚未启用,但包括Chrome和Firefox在内的多种浏览器已经开始提供对HTTP/3的支持。
HTTPS又是什么?
HTTPS 的发展历程始于1993年,由 AOL 旗下的 Netscape Communications 公司开启,该公司在90年代推出了著名的 Netscape Navigator 网络浏览器。最初,HTTPS 协议是通过 SSL(安全套接字层)来实现的,但随后升级到更为先进的 TLS(传输层安全性)来替代 SSL。与 HTTP 不同,HTTPS 使用 TCP 来发送和接收数据包,但使用的是不同的端口号 443。
在 HTTPS 中,“S”代表“安全”。那么,这对于普通用户来说意味着什么呢?使用 HTTPS 协议的网站会与您的设备之间建立一种加密连接。因此,当您尝试向某个网站发送信息时,无论您输入的是什么,例如:“大眼仔”,这些信息都会被加密,呈现出来的可能是一串像“xkndsoumnkjbktkctfc”这样的乱码。当然,这样的乱码对于非专业人士来说是无法解读的。
为了确保数据的安全性,HTTPS 使用公钥对要传输的信息进行加密,而接收方则需要使用相应的私钥进行解密。这些公钥和私钥是由服务器管理员或用户创建的,并被包含在一个名为 SSL 证书的数字证书中。这个证书还会由像 VeriSign 这样的证书颁发机构进行签名认证。需要注意的是,任何与未知设备共享公钥的行为都是不被允许的,因为这可能会削弱加密的效果,从而增加个人信息或用户凭证泄露的风险。
现在,大多数现代的 Web 浏览器都已经内置了对 HTTPS 协议的支持。为了让 Web 浏览器能够验证服务器的身份,这些集成了 HTTPS 协议的浏览器需要依赖于由证书颁发机构签发的 SSL 证书。您可能已经在 Google Chrome 浏览器的地址栏中 HTTPS 链接前看到了一个绿色的挂锁图标。点击这个图标,您可以看到该网站的证书颁发机构的相关信息。
为了获得浏览器的信任,您访问的 HTTPS 网站必须向浏览器提供有效的证书。如果网站无法提供有效的证书,浏览器将显示警告信息。这些证书可以是免费的,也可以是网站向认证机构支付一定费用后获得的。
简单来说,HTTPS 实际上就是在 SSL/TLS 加密层之上的 HTTP 连接。这样的设计旨在保护正在传输的数据的完整性和私密性,确保数据在传输过程中不会被他人窃取或篡改。此外,HTTPS 的另一个重要功能是验证所访问的网站的真实性。在公共 WiFi 网络等不安全的环境下,HTTPS 可以有效防止中间人攻击和窃听等安全威胁。
HTTP与HTTPS:了解他们之间的关键差异
总之,HTTPS 可以被视作是对 HTTP 进行的一次高级且更为安全的改造。在默认设置下,HTTP 依赖于端口号 80,而 HTTPS 则选择使用端口号 443,这样的设计使得两种不同类型的连接得以清晰区分。
HTTP 的唯一目标是确保信息能够在收件人的设备上准确无误地展现,而无需关心数据如何在两个设备间进行传输。与此类似,HTTPS 的独特优势在于它通过 SSL/TLS 技术增加了一层额外的安全保护。值得一提的是,VPN 也利用 SSL/TLS 进行数据加密,从而有效防止了数据被窃听的风险。