Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回JSON格式的Base64编码缩略图,还是只返回URL?_Javascript_Json_Image - Fatal编程技术网

Javascript 返回JSON格式的Base64编码缩略图,还是只返回URL?

Javascript 返回JSON格式的Base64编码缩略图,还是只返回URL?,javascript,json,image,Javascript,Json,Image,我已经建立了一个页面,显示了许多项目及其缩略图。该页面有一个寻呼机,用户可以在结果上来回迭代。每个迭代请求都使用AJAX发出,并返回JSON响应。目前,JSON响应还包括每个项目的Base64编码缩略图。对于12个项目,响应大约为100KB(gzip编码)。缩略图压缩为JPEG格式 这是个好办法吗?与其在JSON响应中嵌入缩略图,不如只在缩略图图像中包含URL 请回答客户端和服务器端的性能(可能还有带宽)。视情况而定 赞成嵌入: 没有额外的要求 没有额外的往返(相关) 开销小(没有URL,没有

我已经建立了一个页面,显示了许多项目及其缩略图。该页面有一个寻呼机,用户可以在结果上来回迭代。每个迭代请求都使用AJAX发出,并返回JSON响应。目前,JSON响应还包括每个项目的Base64编码缩略图。对于12个项目,响应大约为100KB(gzip编码)。缩略图压缩为JPEG格式

这是个好办法吗?与其在JSON响应中嵌入缩略图,不如只在缩略图图像中包含URL

请回答客户端和服务器端的性能(可能还有带宽)。

视情况而定

赞成嵌入:

  • 没有额外的要求
  • 没有额外的往返(相关)
  • 开销小(没有URL,没有额外的请求头)
赞成联系:

  • 较小的总传输(除非图像很小)
  • 可缓存
基本上,这取决于图像的大小和重用。如果图像只可能被看到一次,那么对可缓存性没有好处。如果可以缓存整个JSON响应,那就更好了

如果图像非常小,以至于头部开销占图像大小的很大一部分,那么嵌入它们可能是值得的


最后,诸如HTTP2和SPDY之类的协议将多路传输单个连接上的所有数据,并减少大量开销(如报头)。因此,除非您的图像非常小,而且不太可能被缓存,否则在使用这些协议(您应该使用这些协议)时最好链接到它们。

作为http资源的图像将由浏览器缓存。此解决方案看起来是迄今为止最低效的方法。传递URL将允许浏览器缓存图像。由于字节->字符(需要一个字节来存储)转换,Base64至少是原始大小的
4/3
<代码>xxxxxx XXYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ