在Drupal站点上混合http版本是否可以接受?

时间:2010-11-15 10:00:04

标签: performance http drupal

我最近不得不对核心模块进行更改,这意味着我的错误页面是使用HTTP 1.0发送的,而我的网站的其余部分是HTTP 1.1。背景为herehere。我已经看到建议表明让一个站点为不同的页面说不同版本的HTTP是一个坏主意,例如here,但他们没有说出什么可能出错。似乎http 1.1以allowing persistent connections and better caching的形式提供了一些性能改进,如果我可以在某些页面中避免它,我不想丢失的东西......因此混合了http版本。 / p>

我是否正走向灾难?或者,http 1.1的性能提升实际上是否足够小,我应该考虑为了更好的实践而抛弃它?

1 个答案:

答案 0 :(得分:0)

  

我最近不得不对核心模块进行更改

不要那样做!如果以任何可能的方式,请滚动模块。如果核心存在问题,请提交补丁(这将有助于其他开发人员,并使您更容易保持最新)。

HTTP问题很棘手。正如您所说,HTTP 1.1添加了持久连接和类似的东西,您的浏览器可能决定在您的网站上使用。如果网站突然发出我不知道的HTTP 1.0,以及如果通过持久连接发送HTTP 1.0响应会发生什么,浏览器的行为如何。

但是,您链接的背景问题是针对非常具体的情况 - 反向代理(nginx)位于您的网站前面。如果是这种情况,请继续阅读:

直接访问您网站的唯一代理是nginx。只要nginx工作,你就没有问题。将您的网站作为HTTP 1.1提供给nginx没有任何好处,因为它只支持代理1.0。但是,nginx将透明地处理与HTTP 1.1的用户连接 - 即他们可以使用持久连接等,而nginx正在设置并在后台拆除与后端的连接。

因此,我的建议是将您的整个网站降至HTTP 1.0,并验证nginx仍然将其作为HTTP 1.1提供。您可能会发现404标头仍在转义,但我认为 nginx也会正确捕获并处理它。测试并找出答案!