Я хочу отключить кеш, используемый, когда вызов URL-адреса на сервер выполняется из VBScript, работающего в приложении на компьютере с Windows. Какую функцию/метод/объект я использую для этого?
Когда вызов выполняется в первый раз, мой сервер Apache на базе Linux возвращает ответ от запущенного сценария CGI Perl. Однако последующие запуски скрипта, похоже, используют тот же ответ, что и в первый раз, поэтому данные где-то кэшируются. Журналы моего сервера подтверждают, что сервер не вызывается в последующие разы, а только в первый раз.
Это то, что я делаю. Я использую следующий код из коммерческого приложения (не хочу упоминать это приложение, вероятно, не относящееся к моей проблеме):
With CreateObject("MSXML2.XMLHTTP")
.open "GET", "http://myserver/cgi-bin/nsr/nsr.cgi?aparam=1", False
.send
nsrresponse =.responseText
End With
Есть ли функция/метод для вышеуказанного объекта для отключения кэширования, или я должен вызывать метод/функцию для отключения кэширования объекта ответа перед созданием URL-адреса?
Я искал здесь решение: http://msdn.microsoft.com/en-us/library/ms535874(VS.85).aspx - недостаточно полезно. А здесь: http://www.w3.org/TR/XMLHttpRequest/ - очень недружелюбно и тяжело читать.
Я также пытаюсь заставить не использовать кеш, используя настройки заголовка http и метаданные заголовка html-документа:
Фрагмент серверного сценария Perl CGI, который возвращает ответ вызывающему клиенту, устанавливает срок действия равным 0.
print $httpGetCGIRequest->header(
-type => 'text/html',
-expires => '+0s',
);
Настройки заголовка Http в ответ отправлены обратно клиенту:
<html><head><meta http-equiv="CACHE-CONTROL" content="NO-CACHE"></head>
<body>
response message generated from server
</body>
</html>
Приведенные выше настройки заголовка http и html-документа не сработали, отсюда и мой вопрос.