Задача (выполнена): сделать веб-сервис для конвертации одних plain/text файлов в другие.Первичная проблема: сгенерированный файл с нестандартным расширением выдавался на данном хостинге с http хедером plain/text (решено посредством изучения причудливых настроек хостера. .httaccess не работает, но можно нарулить mime-типы в админке).
Оставшиеся проблемы:
1. IE, вместо того, чтобы предлагать файл для скачивания, выводит тест на экран. (Приличные браузеры выводят окно для сохранения файла.)
2. IE кеширует выходной файл, и приходится сначала открыть его (текст на экране), обновить, увидеть, что обновился, сохранить как. (Приличные браузеры без проблем скачивают обновленную версию файла.)
Что сумел сделать:
1. При нажатии на ссылку сервер таки выдает заголовок
Content-Type: application/octet-stream
(в нормальных браузерах предлагается скачать, IE тупо открывает текстовое содержимое)
(заголовки смотрел в мазиле через HTTPFox)
2. В php обработчике дописал выдачу хедеров
Pragma: No-cache
Cache-Control: no-cache
Это уже от отчаяния. Эти хедеры относятся к самому скрипту обработчика. На выдаваемой им странице есть обыкновенная ссылка на файл. Который упорно кешируется IE при дефолтных настройках.
Чахоточная идея от чайника - попытаться сформировать ссылку на скачивание файла не средствами html, а средствами php, серией функций header(), чтобы заставить это угребище, IE, хотя бы время создания файла проверять, прежде чем тупо выдавать устаревшую копию из кеша. Не знаю пока, как это сделать, и можно ли.
Может быть, есть более кошерное решение?
<offtopic>
В процессе гуглежа наткнулся на такой вот совет от мелкософта:
http://support.microsoft.com/kb/222064
Предлагается создать еще одну секцию <head> в КОНЦЕ страницы с мета-тегом, призывающим к браузер к Pragma: no-cache.
[Это полный п...ц (вымарано)] Конгениально!
</offtopic>