2017-10-20 44 views
0

我在查找为什么在同一页面上遇到多次SSL/TLS握手时遇到了一些问题(对于同一页面上的多个资源,即多个HTTP请求),同时保持活动和会话标识符/故障单在网站/服务器上处于活动状态。虽然启用了Keep-Alive和会话标识符/票证,但仍有多个SSL/TLS握手

我最近在我的网站上激活了TLS(https),因此我想检查这对网站的速度/负载性能有什么影响。当通过互联网上各种速度测试(例如tools.pingdom.com和webpagetest.org)和Chrome开发者工具浏览瀑布图时,我会在同一页面上看到不同内容的多个SSL握手/协商。你可以看到这个位置的图像:

enter image description here

可以看出,有对在同一domaian不同的http请求多个SSL谈判。我很想知道这一点,因为Keep-Alive和会话标识符& - 活动的窍门(通过多个测试(如webpagetest.org和ssllabs.com/ssltest/中的测试)进行检查)。请注意,我没有访问服务器(apache)配置,因为我在共享主机上。

就是我遇到可能:

  • 由于服务器配置的连接限制一定量的?
  • 某种错误的配置?
  • 其他的东西?
  • 我误解了一些东西?

请注意,我是这个领域的一个完整的新手,但我试图找到关于这个主题的尽可能多的信息,但可悲的是不是一个答案。

如果你想测试的东西为自己的网站是https://www.aktie-skat.dk

回答

2

这是正常的浏览器建立多个并行连接到同一个网站,因为每个连接只能请求和加载一个单一的资源一次。即使使用HTTP保持活动状态,这些资源也不会通过单个HTTP/1.x连接并行加载,而只能一个接一个加载。这仅与HTTP/2不同。除此之外,某些请求可能会导致来自服务器的Connection: close,这需要客户端为下一个请求使用不同的连接。

详细说明:前两次握手开始于0.362s和0.333s,每次握手约为100ms。这些都是完整的握手。所有其他TLS握手的方式都较短(大约50ms),因此使用会话恢复进行缩短握手。第二个TCP/TLS连接不能使用会话恢复,因为第一个连接的TLS握手尚未完成,因此没有会​​话可用于恢复。

+0

优秀的解释Steffen - 特别是给了更多理解的详细部分!然而,你是否有一个想法,为什么有些请求根本不需要进行TLS握手 - 例如请求“test4.jpg”,请求在0.57s开始。这是由于“保持活跃”的现有/持续连接,即继续处理新请求? –

+1

@ Chri.s:没有“初始连接”(即没有新的TCP握手)的所有请求都没有“SSL协商”(即没有TLS握手)。这些是同一TCP/TLS连接内的后续请求,即使用HTTP保持活动的请求。 –

+0

你是我今天的英雄。感谢您帮助我理解这一点:) –

相关问题