Почему?Кэширование вывода автоматически отключает кэширование браузера в IIS 7.5

В IIS 7.5, когда у меня не включено кэширование вывода, мой php-скрипт успешно устанавливает кэширование браузера в заголовке Cache-Control:

Cache-Control: max-age=43200,public
Тип контента: text/html
Истекает: ср, 30 мая 2012 г., 22:15:18 по Гринвичу
Сервер: Microsoft-IIS/7.5
X-Powered-By: PHP/5.4.3
Дата: среда, 30 мая 2012 г., 10:15:18 по Гринвичу
Соединение: закрыть
Content-Length: 5105

Однако, если я включу кэширование вывода для файлов .php, я получу следующий заголовок:

Cache-Control: no-cache,max-age=43200,public
Тип контента: text/html
Истекает: ср, 30 мая 2012 г., 22:25:34 по Гринвичу
Сервер: Microsoft-IIS/7.5
X-Powered-By: PHP/5.4.3
Дата: среда, 30 мая 2012 г., 10:25:34 по Гринвичу
Connection: close

(обратите внимание, что «no-cache» добавляется в Cache-Control перед работой моего php-скрипта)

Я обнаружил, что нет способа предотвратить добавление «no-cache» в клавишу Cache-Control, если кэширование вывода включено для типа файла. Я пытался сделать это в файле web.config:

        <customHeaders>
            <remove name="X-Powered-By" />
    <remove name="Cache-Control" />
            <add name="Cache-Control" value="public" />
        </customHeaders>

Не работает. Почему это должно быть настолько взаимоисключающим? Я хотел бы включить кэширование вывода и кэширование браузера.

5
задан Lonnie Best 30 May 2012 в 10:35
поделиться