返回JSON中的Base64编码缩略图或只返回它们的URL?

时间:2014-07-13 10:12:06

标签: javascript json image

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

这是一个好方法吗?而不是在JSON响应中嵌入缩略图,是否只需要包含缩略图图像的URL?

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

1 个答案:

答案 0 :(得分:2)

取决于。

赞成嵌入:

  • 没有额外请求。
  • 没有额外的往返(相关)。
  • 开销小(无URL,无额外请求标头)

赞成链接:

  • 较小的总转移(除非您的图像很小)。
  • 缓存。

基本上它取决于图像的大小和重用。如果图像只有一次可见,则可缓存性没有任何好处。如果您的整个JSON响应可以缓存,那就更好了。

如果图像太小以至于标题开销是图像大小的重要部分,则可能值得嵌入它们。

最后,HTTP2和SPDY等协议将在单个连接上复用所有数据,并减少大量开销(例如标头)。因此,除非您的图像非常小并且不太可能被缓存,否则在使用这些协议(您应该使用它们)时链接它们可能会更好。