我正在构建一个动态搜索功能(每次按键都会更新):我的当前方案是,在每次按键时向服务器发送新的AJAX请求,并以JSON格式获取数据。
我考虑为每个搜索“会话”打开一个WebSocket,以节省一些开销。我知道这样做可以节省时间,但问题是,考虑到以下参数,这样做真的值得吗:
- 80ms平均ping时间
- 166ms:假设用户输入相对较快时每个按键之间的时间
- 最坏情况下传输速率为1MB/s,每个按键必须接收的数据包不超过1KB。
- 该应用还需要大约30-40ms的时间将搜索结果与DOM组合。
我找到了这篇文章:HTTP vs Websockets with respect to overhead,但那是一个不同的用例。
Websockets除了纯HTTP开销外,还能减少什么? HTTP开销有多少(假设没有cookie和最小标头)?
我猜HTTP请求在每个请求上都会打开一个新的网络套接字,而WebSocket允许我们始终只使用一个网络套接字。如果我的理解正确,那么打开一个新的网络套接字的实际开销是多少?