javascript – 用于数据传输的WebSockets与XHR
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 用于数据传输的WebSockets与XHR,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1636字,纯文字阅读大概需要3分钟。
内容图文
我正在使用Node.js为Web应用程序设计架构,我们需要能够从库中将中等大小的文件发送到客户端.当用户浏览图库时,他们将尽快发送这些二进制文件(对于每个图库项目).文件可能高达6Mb,但可能平均大约2Mb.
我的客户坚持认为我们应该使用websockets进行数据传输而不是XHR.需要明确的是,我们不需要双向通信.
我缺乏这个领域的经验,在我的推理中需要帮助.
到目前为止,我的观点如下:
>使用WebSockets可以破坏HTTP提供的任何客户端缓存.如果用户两次访问图库中的相同项目,则会被迫重新下载内容.
> WebSocket消息无法通过/路由到代理缓存来处理.它们必须始终由显式服务器处理.
> CDN旨在提供广泛的Web缓存,拦截HTTP请求. WebSockets限制我们利用CDN.
>我猜Nodejs能够比并发websocket连接更快地响应数百/数千XHR.
是否有任何技术论据支持/反对使用websockets进行标准HTTPRequests上的纯数据传输.任何人都可以取消/澄清我的观点,并可能提供链接来帮助我的研究吗?
我发现此链接非常有用:https://www.mnot.net/cache_docs/#PROXY
最佳答案:
除了它使用HTTP并因此更好地进行缓存(这对速度至关重要)之外,我可以看到XHR的以下技术参数:
> HTTP是文件下载的专用协议.它本身内置于浏览器中(带有XHR接口),因此可以更好地优化并更易于开发人员使用
> HTTP已经具备了许多你需要手工制作websocket的东西,比如文件路径请求,auth,会话,缓存……所有这些都在客户端和服务器端.
>即使在旧版浏览器中,XHR也能提供更好的支持
>某些防火墙仅允许HTTP(S)连接
似乎没有任何技术理由喜欢网络套接字 – 唯一可能影响您选择的是“客户为王”.您可以通过告诉他他需要多少钱来重新实现websocket连接上的HTTP功能来说服他.它并不便宜,尤其是当您的应用程序变得更复杂时.
顺便说一下,我不会支持你的最后一点. Node应该能够处理与HTTP连接一样多的websocket连接;如果适当优化,所有事情都是均匀的但是,如果您的服务器体系结构不仅仅基于节点,则有许多普通文件服务应用程序可能比节点更快(甚至不计算HTTP缓存层).
内容总结
以上是互联网集市为您收集整理的javascript – 用于数据传输的WebSockets与XHR全部内容,希望文章能够帮你解决javascript – 用于数据传输的WebSockets与XHR所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。