Я хочу отключить кэш, используемый, когда 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 документа:
Фрагмент CGI-скрипта Perl на стороне сервера, который возвращает ответ вызывающему клиенту, установите значение expiry равным 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 документа не сработали, поэтому мой вопрос.