哪些Web应用程序框架实施HTTP';每个客户端/服务器的TCP连接限制为两个?

哪些Web应用程序框架实施HTTP';每个客户端/服务器的TCP连接限制为两个?,http,web-frameworks,Http,Web Frameworks,限制客户端在任何客户端和服务器之间使用两个以上的TCP连接。我想知道是哪一个实施了这一限制 HTTP 1.1的实现不是web应用程序框架的功能,而是客户端或服务器HTTP代理的功能。换句话说,它在客户端由Safari、Chrome、Firefox和Internet Explorer实现,在服务器端由Apache或IIS实现[*]。当然,还有更多的HTTP代理也实现了HTTP 1.1;我只是列出了最受欢迎的(如“我使用的”:-)一类 据我所知,您链接到的那篇维基百科文章中列出的大多数web应用程序

限制客户端在任何客户端和服务器之间使用两个以上的TCP连接。我想知道是哪一个实施了这一限制


HTTP 1.1的实现不是web应用程序框架的功能,而是客户端或服务器HTTP代理的功能。换句话说,它在客户端由Safari、Chrome、Firefox和Internet Explorer实现,在服务器端由Apache或IIS实现[*]。当然,还有更多的HTTP代理也实现了HTTP 1.1;我只是列出了最受欢迎的(如“我使用的”:-)一类

据我所知,您链接到的那篇维基百科文章中列出的大多数web应用程序框架至少应该在Apache和/或IIS上运行,因此它们应该能够从HTTP 1.1中获益。但是,如果用户使用的浏览器不支持HTTP 1.1,Apache和IIS的默认配置将回退到HTTP 1.0,在最常见的情况下,这将对您选择的web应用程序框架透明

更新:您的问题(根据您的评论)应该解释为“哪些web应用程序框架只支持HTTP 1.1作为传输协议”

没有主要的web服务框架仅通过HTTP 1.1强制端点配置或客户端调用。所有这些都允许应用程序代码(服务或客户端)选择传输。这主要有两个原因:

  • 协议的选择取决于实际服务的部署配置,因此它与所使用的框架正交,很少由web服务开发人员进行选择
  • 通过该框架将传输协议的选择限制为HTTP 1.1意味着增加了采用障碍,这是任何框架作者都不希望看到的
  • 唯一可能强制执行特定HTTP版本的框架是那些自带web服务器实现或预先配置部署主要web服务器(通常是Apache)的框架。然而,我不知道有哪一个会只强制执行HTTP 1.1;如果有什么区别的话,他们只会强制执行HTTP 1.0

    还有一个非常实际的原因通常会阻止HTTP 1.1在web服务中的实施—大多数部署预计会跨未知数量的中间网关(防火墙、缓存服务器、负载平衡器等)工作,这些网关可能支持HTTP 1.1,也可能不支持HTTP 1.1,因此,如果没有HTTP 1.0的回退支持,web服务客户端和web服务端点之间的协议协商将失败


    [*]从技术上讲,它是由WinHTTP和WinInet在Windows平台上实现的,只是被应用程序重用。我确信Linux上也有一个可重用的公共库(可能称为libhttp.so或类似的东西,但请不要引用我的话:-)。

    谢谢您的回复Franci。我关心的是基于Internet的Web服务,它调用其他基于Internet的Web服务。这些框架确实允许开发此类应用程序。对于这些,框架发出HTTP请求,所以我的问题仍然存在!请注意,HTTP/1.1的下一版本将放宽这一限制;看见