Будет ли это вообще рассматриваться как другой URL, и я не получу никакой выгоды от кэширования?
Вообще говоря, добавление строки Query дает другой URLдействительно, который сам по себе все еще полностью кешируется соответственно, см. раздел Побочные эффекты GET и HEAD (в пределах Кэширование в HTTP ):
Отметим одинисключение из этого правила: поскольку некоторые приложения традиционно используют GET и HEAD с URL-адресами запросов (те, которые содержат «?» в части rel_path) для выполнения операций со значительными побочными эффектами, кэши НЕ ДОЛЖНЫ обрабатывать ответы на такие URI как свежие, если только серверпредоставляет явное время истечения.
Это на самом деле широко используемый, хотя и довольно противоречивый метод, чтобы заставить браузеры заменять долгоживущие статические ресурсы, такие как CSS / JS, см., например, ответ SCdF на Что такоеэлегантный способ заставить браузеры перезагружать кэшированные файлы CSS / JS? и его комментарии для обширногоПричиной этого и связанных подходов и соответствующих плюсов и минусов.Очевидно, что предпочтительное решение для темы CSS / JS в настоящее время использует дактилоскопию имени файла вместо добавления соответствующего фрагмента запроса, как обсуждалось в ответах accept и other там же.