我正在使用Node.js为Web应用程序设计架构,我们需要能够从图库向客户端发送中等大小的文件。当用户浏览图库时,他们将尽可能快地接收到这些二进制文件(每个图库项)。文件大小可能会达到6Mb,但平均大约为2Mb。
我的客户坚持认为,我们应该使用WebSockets而不是XHR进行数据传输。只要明确了,我们不需要双向通信。
我在这个领域缺乏经验,需要帮助推理。 到目前为止,我的观点如下:
- 使用WebSockets会破坏HTTP提供的任何客户端缓存。如果用户两次访问相同的图库项目,他们将被迫重新下载内容。
- WebSocket消息不能被代理缓存处理/路由。它们必须始终由显式服务器处理。
- CDN是专门提供广泛的Web缓存,拦截HTTP请求。WebSockets会限制我们利用CDN。
- 我想Node.js会能够更快地响应数百/数千个XHR,而不是并发的websocket连接。
对于仅进行纯数据传输的技术上是否有使用WebSockets的支持或反对的论点?任何人能够否定/澄清我的观点,或提供帮助我研究的链接吗?
我发现这个链接非常有帮助:https://www.mnot.net/cache_docs/#PROXY