如何执行img标签的src属性?

时间:2013-02-19 09:16:12

标签: html image src

请考虑以下代码:

 <img src="http://website.com/Page/1"/>

“1”是要在website.com的“Page”页面的某些表格中插入的参数。 此页面的访问者(包含上面的代码)是否会导致执行页面并向表中插入1?如果页面包含一些Javascript代码。如果我们访问包含上述代码的页面,它会被执行吗?

2 个答案:

答案 0 :(得分:6)

如果浏览器配置为加载和显示图像,则首先会检查其自身缓存中的文档匹配URL是否为新鲜(通过某些缓存条件)。如果没有,它将通过HTTP向mysite.com发送资源/ Page / 1的GET请求。然后会发生什么事情取决于服务器。它可能只是从其资源中获取一个图像文件并将其发送到浏览器,或者它可能生成一个图像并发送它,或者它可能(代替或除此类之外)在其数据库中存储或更新某些内容,或者只是一个文件中的计数器,或者它编程要做的任何事情。

如果服务器发送的资源是图像数据,浏览器将尝试显示它。如果恰好是例如HTML文档将被丢弃,浏览器将显示alt属性的值,或者显示损坏图像的图标,或两者都显示。

答案 1 :(得分:1)

当浏览器在可见区域中找到此img标记时(例如,不应使用display: none隐藏),它会将图像作为http请求执行。这就是统计跟踪的工作原理。

因为它是一个常规的http请求,它将执行该URL的服务器端代码,该代码应该返回一个图像(它只是一个空白的1x1 gif),因此浏览器不会报告错误。

但请记住,如果您第二次访问此页面,浏览器可能会缓存该图像。因此,要么在末尾附加一个随机字符串或时间戳(例如http://website.com/Page/1?23423412341),要么告诉浏览器htaccess不要缓存它。