布莱恩F爱
向一位来自Portlandyobet英雄联盟的谷歌开发专家学习Angular、Web技术和Node.js。
广告 ·ultimatecourses.com
用终极课程学习Angular的正确方法

点火电极和HTTPS

作为建立HTTPS无处不在系列的一部分,我正在迁移一个网站使用HTTPS所有的请求。到目前为止使用SSL证书配置服务器通过HTTPS服务我们的内容,也做了一些配置SSL引擎,以确保使用最新的安全协议和密码

现在,我们将为HTTPS优化web服务器。无论是否使用HTTPS,在服务器和客户机上优化代码和服务器的性能都很重要。然而,在迁移到HTTPS的过程中,我们希望确保在性能问题或瓶颈出现之前减少它们。见鬼,我们希望将加载时间保持在1以下。

为什么?

声称HTTPS变慢的一个合理原因是需要额外的握手来保护客户机和服务器之间的连接。作为性能优化的一部分,我们将使用keep alive连接头来保持HTTP请求打开。这将避免重复关闭和打开新连接,从而导致需要执行额外的握手操作来设置加密隧道。

下面是来自Wikipedia的一个图表,显示了使用多个连接和持久连接之间的不同。

HTTP持久连接

默认情况下,HTTP连接在每个请求完成后关闭。使用keep-alive连接头允许我们为多个请求保持客户端和服务器之间的连接打开,从而最小化建立安全连接的开销。

这种优化技术可以应用于HTTP/1.1 web服务器,无论您是否通过HTTPS提供内容。然而,由于额外的SSL/TLS握手,这种优化技术在通过HTTPS提供内容时更为关键。

所有现代浏览器都支持持久HTTP连接,因此我们的工作是在web服务器上启用它。所以,让我们看看如何在Apache和IIS上启用这个功能。

Apache

打开httpd.conf文件并将以下代码添加到该文件中。我的文件位于/etc/apache2/httpd.conf

## KeepAlive:是否允许持久连接(超过每个连接一个请求)。设置为“关闭”为关闭。KeepAlive# MaxKeepAliveRequests:允许的最大请求数#在持久连接期间。设置为0允许无限数量。我们建议您将这个数字保持在较高的水平,以达到最佳性能。MaxKeepAliveRequestsOne hundred.对象等待下一个请求的秒数同一连接上的同一客户端。One hundred.

现在重新启动Apache并检查响应头。您应该会看到服务器用连接标题设置为维生

连接设置为保持活动

IIS

我们可以配置保持活动连接在服务器、站点或文件夹级别。您可以使用IIS GUI或通过web进行设置。配置文件。首先,让我们看看如何在IIS中为站点设置该设置。

  • 打开IIS管理器并选择要添加保持活动连接头的站点。
  • 双击HTTP响应头
  • 点击设置常见的头……
  • 检查启用HTTP活动复选框,然后单击好吧

在IIS中设置保持活动

注意,IIS并没有像上面的屏幕快照中看到的那样发送保持活动的响应头。根据此论坛张贴在iis.net上:

由于IIS严格遵循HTTP/1.1 RFC兼容,请找到以下RFC文档,它解释了连接和保持活着的头文件,http://tools.ietf.org/html/rfc2068Keep-Alive头本身是可选的,仅在发送参数时使用。HTTP/1.1没有定义任何参数。HTTP/1.0用于发送这些头,以确保持久连接。但是由于一些问题,它在HTTP/1.1中被删除并成为可选的。

布莱恩F爱

嗨,我是布莱恩。我对TypeScript, Angular和Node.js感兴趣。我和我最好的朋友邦妮结婚了,我住在波特兰,我经常滑雪。