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