HTTPS协议是HTTP(超文本传输协议)的扩展,可提供安全的通信
HTTP在设计上是不安全的。
当您打开浏览器并要求Web服务器向您发送网页时,您的数据执行2次旅行:1次从浏览器到Web服务器,以及1次从Web服务器到浏览器。
然后,根据网页的内容,您可能需要更多的连接才能获取CSS文件,JavaScript文件,图像等。
在任何这些连接期间,您的数据将要穿越的任何网络都可以是检查过的和操纵。
结果可能是很严重的:您可能甚至不知道某个第三方存在的所有网络活动都由第三方监控和记录,可能会注入广告,并且您可能会受到中间人攻击,这是一种安全威胁,攻击者可以在其中操纵您的数据,甚至通过网络模拟您的计算机。对于某人而言,仅侦听通过公共未加密的Wi-Fi网络传输的HTTP数据包非常容易。
HTTPS旨在从根本上解决问题:浏览器与Web服务器之间的整个通信都经过加密。
隐私和安全性是当今互联网的主要关注点。几年前,仅在受登录保护的页面中或在电子商务结帐过程中使用加密连接就可以摆脱困境。另外,由于SSL证书的定价和复杂性,大多数网站都只使用HTTP。
今天,在任何站点上都必须使用HTTPS。现在,超过50%的整个Web都在使用它。 Google Chrome最近开始将HTTP网站标记为不安全,这是给您一个在所有网站上强制(强制)HTTPS的正当理由。
使用HTTP时,默认服务器端口为80,而在HTTPS上为443。当然,如果服务器使用默认端口,则无需显式添加。
HTTPS有时也称为通过SSL的HTTP, 或者TLS上的HTTP。
两者之间的区别很简单:TLS是SSL的后继产品。
使用HTTPS时,唯一未加密的是Web服务器域和服务器端口。
其他所有信息(包括资源路径,标头,cookie和查询参数)均已加密。
我不会详细分析TLS协议在幕后的工作原理,但您可能会认为它增加了很多高架,那您是对的。
添加到网络资源处理中的任何计算都会导致客户端,服务器以及传输的数据包大小的开销。
但是,HTTPS允许使用最新协议HTTP/2,它比HTTP / 1.1具有巨大的优势:速度更快。
为什么?原因有很多,一种是报头压缩,一种是资源复用。一种是服务器推送:当请求一种资源时,服务器可以推送更多资源。因此,如果浏览器请求页面,它还将接收所需的所有资源(图像,CSS,JS)。
除了细节之外,HTTP / 2是对HTTP / 1.1的巨大改进它需要HTTPS。这意味着,尽管具有加密开销,但如果使用现代设置正确配置了HTTPS,HTTPS的速度将比HTTP快得多。
更多网络教程:
- WebSockets简介
- HTTP请求如何工作
- HTTP请求标头列表
- HTTP响应标头列表
- HTTP与HTTPS
- 什么是RFC?
- HTTP协议
- HTTPS协议
- HTTP请求的curl指南
- HTTP缓存
- HTTP状态代码列表
- 什么是CDN?
- HTTP / 2协议
- 什么是港口
- DNS,域名系统
- TCP协议
- UDP协议
- REST API简介
- 如何在macOS中安装本地SSL证书
- 如何生成本地SSL证书
- 如何为HTTPS配置Nginx
- 一个简单的Nginx反向代理,用于从子文件夹中提供多个Node.js应用程序
- 什么是反向代理?