<img/>标签上的参数

时间:2014-01-23 21:07:41

标签: html

我发现有些网站使用图片src上的参数,例如?v=1390510765392

用于什么?

<img src="image.jpg?v=1390510765392" />

that Angularjs示例

上找到

5 个答案:

答案 0 :(得分:2)

我可以想到两种可能的用途......

  1. 如果每次加载页面时参数都会随机更改,那么这是阻止浏览器缓存图像的常用方法。这将强制浏览器始终请求新的(因为URL不同),以便用户始终拥有最新版本。

  2. 如果image.jpg实际上不是图像,而是代码驱动的服务器端资源用图像响应,那么URL参数将是一种通过的方式该资源的标识符,用于标识要下载的特定图像数据。 (例如,如果图像或至少是对它们的引用存储在数据库中。)

  3. 第一个很可能是这里发生的事情,尽管第二个肯定是可能的。

答案 1 :(得分:2)

元素的src属性只是将GET变量v传递到image.jpg端点的服务器,其值为1390510765392。在不检查服务器端代码的情况下,不清楚为什么开发人员会这样做。我想到了一些可能性:

  • image.jpg实际上可以是一个脚本(或由一个人解释),尽管.jpg扩展名,在这种情况下,1390510765392可能是用于检索特定图像的资源令牌
  • 经常使用这样的参数只是简单地更改src属性而不实际更改它指向的内容,从而使图像的任何客户端(或中间)缓存无效并强制它重新加载,在哪种情况下,服务器本身可能会忽略v

答案 2 :(得分:1)

它允许图像的名称保持不变,但通过附加查询字符串,它可以防止浏览器使用图像的缓存版本。查询字符串实质上使URL为“新”,因此浏览器会获取它认为是新资源的内容。

答案 3 :(得分:1)

它用于避免从浏览器缓存中提供图像(因为如果日期更改,URL会不同,并且对图像没有影响)

答案 4 :(得分:0)

另一种可能性是避免在图像发生变化时刷新CDN资源,防止用户在图像中看到旧版本。