Постараюсь описать проблему максимально подробно:
допустим, имеется php-скрипт (php 5.2.6) с именем Test.php:

Код:
<?php
header("Cache-Control: no-cache");
header("Pragma: no-cache");
echo("Responce");
?>
размещенный на сервере Apache (apache 2.2.8 win32) и доступный в локальной сети по адресу, например:
http://10.10.10.10/Test.php.
Если я обращаюсь к этому скрипту через Internet Explorer (v. 6), то он успешно выдает ответ (т.е. строку "Responce"), и при этом ответ не кешируется на клиенте, как оно и должно быть - в соответствии с http-заголовками (т.е. в папке ...\Temporary Internet Files\Content.IE5 никаких файлов не создается).
Если же я организую обращение к этому файлу из флеш-приложения (AS 3) следующим образом:

Код:
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest();
req.url = "http://10.10.10.10/Test.php";
req.method = URLRequestMethod.POST;
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(ErrorEvent.ERROR, On_loader_Error);
loader.addEventListener(IOErrorEvent.IO_ERROR, On_loader_IOError);
loader.addEventListener(Event.COMPLETE, On_loader_Complete);
var timer:Timer = new Timer(1000, 0);
timer.addEventListener(TimerEvent.TIMER, On_timer_Timer);
timer.start();
function On_timer_Timer(event:TimerEvent):void
{
loader.load(req);
}
function On_loader_Error(event:ErrorEvent):void { trace("Error"); }
function On_loader_IOError(event:IOErrorEvent):void { trace("IOError"); }
function On_loader_Complete(event:Event):void { trace(loader.data); }
и открою этот swf-файл браузером (swf-файл тоже выложен на Apache и доступен как, например:
http://10.10.10.10/Flash.swf), то все ответы от php-скрипта будут кешироваться (т.е. папка ...\Temporary Internet Files\Content.IE5 будет бесконечно забиваться файлами вида 'Test.htm[0]', содержащими слово Responce).
Насколько я себе представляю флеш использует механизм кеширования браузера, поэтому не понятно из-за чего возникает это кеширование при обращении из флеша, когда при тех же http-заголовках и прямом обращение из браузера его нет.
Добавление в php-скрипт других http-заголовков для управления кешированием, как то:
header('Expires: Mon, 26 Jul 1990 05:00:00 GMT');
header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
так же ни к чему не приводит.
В результате я не могу организовать постоянный обмен данными с серверным скриптом, так как на клиенте бесконечно забивается папка с кешем.
Отмечу, что в Firefox'е этой проблемы нет - ничего лишнего не пишется ни на винчестер, ни в оперативную память.
Буду рад любым идеям по этому поводу. Заранее спасибо.