【发布时间】:2014-02-14 15:49:25
【问题描述】:
我发现有些网站使用图片src上的参数,比如?v=1390510765392
它是干什么用的?
<img src="image.jpg?v=1390510765392" />
在thatAngularjs 示例中找到
【问题讨论】:
-
副本获得 2 个赞成票我得到 2 个反对票啊哈哈
标签: html
我发现有些网站使用图片src上的参数,比如?v=1390510765392
它是干什么用的?
<img src="image.jpg?v=1390510765392" />
在thatAngularjs 示例中找到
【问题讨论】:
标签: html
它允许图像的名称保持不变,但通过附加查询字符串,它可以防止浏览器使用图像的缓存版本。查询字符串本质上使 URL “新”,因此浏览器会继续并获取它认为是新资源的内容。
【讨论】:
它用于避免从浏览器缓存中提供图像(因为如果日期更改,URL会不同,并且对图像没有影响)
【讨论】:
我能想到两种可能的用途……
如果每次加载页面时参数随机变化,那么这是防止浏览器缓存图像的常用手段。这将迫使浏览器始终请求新的(因为 URL 不同),以便用户始终拥有最新版本。
如果 image.jpg 实际上不是图像,而是代码驱动的服务器端资源,响应图像,那么 URL 参数将是传递标识符的一种方式到该资源以确定要下载哪些特定图像数据。 (例如,如果图像或至少对它们的引用存储在数据库中。)
第一个很可能是这里发生的事情,尽管第二个肯定是可能的。
【讨论】:
另一种可能性是避免在图像更改时刷新 CDN 资源,从而防止用户看到图像的旧版本。
【讨论】:
元素的src 属性只是将GET 变量v 传递给image.jpg 端点处的服务器,其值为1390510765392。如果不检查服务器端代码,就不清楚开发人员为什么要这样做。我想到了几种可能性:
image.jpg 实际上可能是一个脚本(或由一个脚本解释),尽管有 .jpg 扩展名,在这种情况下,1390510765392 可能是用于检索特定图像的资源令牌。src 属性而不实际更改它所指向的内容,从而使图像的任何客户端(或中间)缓存无效并强制它重新加载,在这种情况下服务器本身可能会忽略 v。【讨论】: