我有一个 10mb +二进制文件,这是我的客户工作所必需的。每次我的客户端访问该站点时,该文件都会大一点。因此,请考虑我的客户端在一天内访问该页面20次。与每次新访问一样,文件稍有变化,无法缓存,因此他会下载至少200mb - 即使白天文件仅更改了0.1mb
有没有办法避免巨大的带宽浪费?
答案 0 :(得分:2)
在服务器上,您可以将文件分成块,并让ajax下载块并将它们作为单个文件组装到浏览器中,然后偶尔检查服务器以查看哪些文件块需要更新,并修补文件这是在浏览器中更新的块。本质上是浏览器中rsync的简单实现。
使用javascript处理二进制数据非常棘手,因此您可能会发现这些库和代码链接很方便:
https://github.com/jDataView/jDataView/
http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/
https://gist.github.com/fbuchinger/674212
请参阅“Ox.getChunked”方法,因为这可能允许您直接从服务器请求文件的各个范围。