3

我在各种网站上看到了一个查询字符串,后跟一个图像和 css 文件的数字。当我查看源代码(通过 Chrome 开发人员)时,缓存的 css 文件和图像的名称中没有查询字符串中的数字。我还在刷新页面时查询字符串中的数字发生变化的网站上看到过。

例如:

myimage.jpg?num=12345

myStyles.css?num=82943

刷新后:

myimage.jpg?num=67948

myStyles.css?num=62972

谁能向我解释这些查询字符串缺少跟踪的目的可能是什么?

4

3 回答 3

6

开发人员经常使用这些带有随机数(或版本号)的查询字符串来强制浏览器请求一个新的副本并避免缓存这些文件,因为每次请求都不同。

因此,如果您有一个文件/image.png,但它是一个生成的图像,例如验证码或其他东西,您可以在它后面加上一个随机数查询字符串/image.png?399532,然后浏览器不会image.png从其缓存中提取,而是会从服务器下载一个新副本.

于 2012-07-09T15:14:49.687 回答
2
  1. 防止缓存(每次更新文件时,查询字符串可以提供一个唯一的 URL,从而导致浏览器下载新副本,而不是从缓存中加载过时的副本)
  2. 版本控制(类似于#1,但有更具体的目的)
于 2012-07-09T15:14:53.633 回答
0

查询字符串用于版本控制,它强制导航器重新加载 css 和图像,而不是使用缓存

于 2012-07-09T15:17:14.500 回答