Html 将原始图像数据放入Src Attr是否更有效?

Html 将原始图像数据放入Src Attr是否更有效?,html,image,src,raw-data,Html,Image,Src,Raw Data,我最近发现,图像的src属性允许您直接将原始的base64图像数据放入其中。我认为这在技术上比单独的图像文件更有效,因为不需要对图像提出额外的请求,对吗?还是说开销太小,不值得 另外,假设我最终这样做了,那么获取原始数据的最佳方法是什么?(比如说,从我用油漆画出来的图像中?这是有尺寸限制的。我不太清楚,但2K似乎是对的 请记住,base64编码有一定的开销。如果你有一个500字节的图像,这可能是好的,但对于其他事情,没有 但实际上,为了兼容性,现在不应该这样做。也许在未来几年…这取决于你将发送多

我最近发现,图像的
src
属性允许您直接将原始的base64图像数据放入其中。我认为这在技术上比单独的图像文件更有效,因为不需要对图像提出额外的请求,对吗?还是说开销太小,不值得


另外,假设我最终这样做了,那么获取原始数据的最佳方法是什么?(比如说,从我用油漆画出来的图像中?

这是有尺寸限制的。我不太清楚,但2K似乎是对的

请记住,base64编码有一定的开销。如果你有一个500字节的图像,这可能是好的,但对于其他事情,没有


但实际上,为了兼容性,现在不应该这样做。也许在未来几年…

这取决于你将发送多少图像以及它们被请求的频率。将映像放在base 64中绝对比30个http请求更有效


如果经常请求每个图像,您还可以实现它们的缓存。这是我们在我的工作场所实施的。我们将base64存储在临时目录中,并检查它们是否已经编码。如果是这样,我们的响应时间会更快,否则它们会在PHP脚本中动态创建。更受欢迎的页面将在缓存中快速预热。

这取决于您所说的“更高效”是什么意思。如果你的衡量标准是时间,那么它会更有效率

您所指的技术是使用。通常,您会获取图像数据,因此它只包含ASCII字符。base64编码数据的效果是使其大33%(每6位变为8位)

因此,这适用于小图像,但对于大图像,33%的溢价可能太高了

这可能是个好主意的原因是延迟通常是浏览器请求的限制因素。过去(回到今天)带宽是限制,所以通常的建议是分散资源,但现在不再是这样了。对于数据URI映像,浏览器不必进行第二次往返

除了这些之外,你还必须考虑浏览器支持。在版本8之前,IE不支持数据URI。在IE8中,数据的上限是32KB


希望这有帮助

我认为这取决于图像的大小。但是,请注意,这在中不起作用IE@KevinPeno谢谢你的提示。我必须检查IE7;无论如何,我不在乎IE6 lol。我只是简单地介绍一下,这是一个多么有用的问题/选择的答案,谢谢你:我想澄清一下你对base64的评论。它不会将二进制数据转换为html/css安全数据。它将二进制数据转换为ASCII格式。这并不意味着它是HTML/CSS安全的。@Kevin:同意,请看