使用奇怪的URL提供图像

时间:2010-01-08 03:33:50

标签: image

某些网站的图片包含奇怪的网址

例如,下面的PNG图片(奇怪的网址):

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAdCAYAAAA91+sfAAAAIElEQVRoge3BgQAAAADDoPlTX+AIVQEAAAAAAAAAABwDJF0AAcCDW58AAAAASUVORK5CYII=

这是什么类型的网址?以及它在该网站中的运作方式?

由于

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

这是一个嵌入式图像,其二进制内容由Base64编码,因此它适合HTML页面内的“普通”字符串。换句话说,那是一个嵌入式图像。另请参阅:http://www.w3.org/TR/xhtml-print/#s.4.1.2

然而,并非所有浏览器都支持它,它也不是很有效。图像现在绑定到父(X)HTML页面,您无法单独控制其请求和(缓存)标头。它仅在通过真实XML文件传输图像或任何其他二进制数据时才有用。

答案 2 :(得分:2)

与所有人提到的一样,它是数据URL方案。它在1998年的RFC 2397中有详细说明,并遵循以下语法:

data:[<mediatype>[;base64],<data>

IE 5 - 7不支持它,其他符合标准的浏览器(如Firefox,Safari,Opera和Chrome)都支持数据URI。可以使用旧版本的解决方案,例如IE。

只需注意,您可以使用一行PHP生成它:

<?php echo base64_encode(file_get_contents("yourimage.gif")); ?>

答案 3 :(得分:1)

您似乎正在查看使用data URI scheme指定的URI。

在这种情况下,我相信PNG数据直接编码到URI中。