我正在使用Node.js为Web应用程序设计架构,我们需要能够从库中将中等大小的文件发送到客户端。当用户浏览图库时,他们将尽快发送这些二进制文件(对于每个图库项目)。这些文件最高可达6Mb,但可能平均大约为2Mb。
我的客户坚持要使用websockets进行数据传输而不是XHR。需要明确的是,我们不需要双向通信。
我缺乏这个领域的经验,在我的推理中需要帮助。 到目前为止,我的观点如下:
是否存在使用websockets进行标准HTTPRequests纯数据传输的技术参数。任何人都可以取消/澄清我的观点,也许可以提供链接来帮助我的研究吗?
我发现此链接非常有用:https://www.mnot.net/cache_docs/#PROXY
答案 0 :(得分:6)
除了我使用HTTP之外,我还可以看到XHR的以下技术参数,因此它更适合缓存(这对速度至关重要):
似乎没有任何技术理由喜欢网络套接字 - 唯一可能影响您选择的是“客户为王”。您可以通过告诉他他需要多少钱来重新实现websocket连接上的HTTP功能来说服他。它并不便宜,特别是当你的应用程序变得更复杂时。
是的,我不会支持你的最后一点。 Node应该能够处理与HTTP连接一样多的websocket连接;如果适当优化,所有事情都是均匀的但是,如果您的服务器体系结构不仅仅基于节点,那么有许多普通文件服务应用程序可能比节点更快(甚至不计算HTTP缓存层)。