Как сообщить, что браузеры для игнорирования ПОЛУЧАЮТ параметры при кэшировании ресурса

Платформы модульного теста для C++ как UnitTest ++ в значительной степени вращаются вокруг макросов препроцессора. Несколько строк кода модульного теста расширяются в иерархию классов, которые не были бы забавой вообще для ввода вручную. Без чего-то как UnitTest ++ и это - волшебство препроцессора, я не знаю, как Вы эффективно записали бы модульные тесты на C++.

6
задан Bozho 9 December 2009 в 22:32
поделиться

1 ответ

Не совсем понятно, для какой стороны требуются параметры в URL: сервер или клиент? В любом случае ваш сервер может вести себя так, чтобы клиент имел дело с одним и тем же URL-адресом и не нуждался в каких-либо волшебных заголовках, которых не существует. ;)

Если серверу требуются параметры, вы можете добавить этот параметр с помощью перезаписи URL-адреса Apache, если вы используете Apache:

RewriteRule ^style.css$ /style.css?param=1 [L]

Rewrite Engine может делать и другие вещи, и вы даже можете передавать параметры через файлы cookie и извлекать их в RewriteCond строки в строку запроса:

RewriteCond %{HTTP_COOKIE} a:(.*) # not sure of the syntax
RewriteRule ^style.css$ /style.css?a=%1 [L]

Таким образом, URL будет таким же на стороне клиента.

Если клиент отправляет запросов с параметрами, и он не может работать по-другому, вы можете установить внешнее перенаправление и установить cookie:

RewriteCond %{QUERY_STRING} a=(.*)
RewriteRule ^(.*)$ /$1 [CO=a:%1:mysite.com,R]

Таким образом браузер будет учитывать кеширование / не кеширование URL без параметров. Прочтите Документы Rewrite Engine ,

3
ответ дан 17 December 2019 в 18:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: