Mar*_*ark 1 browser concurrency connection-pooling long-polling tcp-ip
假设我有一个带注册的聊天应用程序,它对 Apache 服务器进行长轮询。我已经阅读了一些资料,但我仍然感到困惑,并希望非常确定。根据我的理解,它可以是:
我非常倾向于第一个。你能帮我更正/扩展两者中的任何一个,或者如果两者都错了,请添加数字 3?谢谢!
此限制是每个浏览器供应商设置的限制。浏览器实例的典型连接限制设置为到同一域的 6 个套接字连接。这六个连接组成了浏览器套接字池。此套接字池由套接字池管理器管理,并在所有浏览器进程中使用。这是为了通过重用已建立的连接来最大化 TCP 连接的效率,以及其他性能优势。
根据HTTP 1.1 规范,最大连接数应限制为 2。
使用持久连接的客户端应该限制它们维护到给定服务器的同时连接的数量。单用户客户端不应与任何服务器或代理保持 2 个以上的连接。这些指南旨在缩短 HTTP 响应时间并避免拥塞。
然而,该规范在互联网初期于 1999 年 6 月获得批准,Chrome 等浏览器供应商已将这一数字增加到 6 个。
目前,这些设置为每个代理 32 个套接字,每个目标主机 6 个套接字,每个进程 256 个套接字(实现不完全正确,但足够好)。
话虽如此,每个套接字池都由每个浏览器管理。取决于浏览器的连接限制(最少两个)。您应该可以通过在 IE、Chrome、Firefox 和 Safari 中打开两个选项卡来打开 8 个连接。您的最大连接数受浏览器本身的限制。还要记住,服务器一次只能处理这么多并发连接。不要不小心自己 DoS :)
如果您绝对需要超出连接限制,您可以查看域分片。这基本上通过为请求提供不同的主机名来欺骗浏览器打开更多新连接。不过我不建议使用它,因为浏览器设置了这些限制以最大化性能并重用现有连接。轻踩。
| 归档时间: |
|
| 查看次数: |
7621 次 |
| 最近记录: |