Http请求/并发?

Http请求/并发?,http,concurrency,Http,Concurrency,假设我的本地主机上的一个网站执行每个请求大约需要3秒钟。这很好,正如预期的那样(因为它在幕后进行了一些奇特的联网) 但是,如果我在标签中打开相同的url(在firefox中),然后同时重新加载它们,那么似乎会按顺序加载每个页面,而不是同时加载所有页面。这是怎么回事 已经在windows server 2008 iis和windows 7 iis上试用过它,这实际上取决于您使用的web浏览器以及其中的选项卡支持是如何编程的 它可能使用单个线程依次加载每个选项卡,这可以解释您的观察结果 编辑: 正如

假设我的本地主机上的一个网站执行每个请求大约需要3秒钟。这很好,正如预期的那样(因为它在幕后进行了一些奇特的联网)

但是,如果我在标签中打开相同的url(在firefox中),然后同时重新加载它们,那么似乎会按顺序加载每个页面,而不是同时加载所有页面。这是怎么回事


已经在windows server 2008 iis和windows 7 iis上试用过它,这实际上取决于您使用的web浏览器以及其中的选项卡支持是如何编程的

它可能使用单个线程依次加载每个选项卡,这可以解释您的观察结果

编辑:
正如其他人所提到的,在本地主机上运行的Web服务器很可能是单线程的。

network.http.max-connections 60

network.http.max-connections-per-server 30

以上两个值决定Firefox与服务器的连接数量。如果超过阈值,它将管道化请求


每个浏览器都以自己的方式实现它。请求是以这样一种方式发出的,以最大限度地提高性能。此外,它还取决于服务器(较慢的localhost)

如果我没记错的话,HTTP标准将同一主机的并发连接数限制为2。这就是高负载网站使用CDN(内容交付网络)的原因。

您的本地web服务器配置可能只有一个线程,因此下一个请求都将等待上一个线程完成。

您如何知道这不是浏览器的行为,而不是服务器的行为?从单个浏览器测试高负载并不具有代表性。我认为这取决于您的网站在本地主机上运行的内容。您使用哪种服务器软件?或者web服务器软件在单个线程中处理请求。