Intereting Posts
Есть ли способ использовать инструкции подготовки wpdb для массива implode ('OR', $ myArray)? Переопределить класс методов или классов PHP Показывает процент прогона ftp_get? Неустранимая ошибка: класс «CModelEvent» не найден в CModel.php в строке 189 Получение удаленной адресной информации PHP по URL-адресу Как и зачем использовать фигурные скобки: return $ this -> {$ this-> action} (); Codeigniter form_helper получает строки базы данных в значениях в меню выбора получение ошибки Предупреждение: mcrypt_decrypt (): параметр IV должен быть до тех пор, пока размер блока Почему CakePHP использует это имя метода в запросе MySQL, а не возвращает результат? Как удалить определенную строку в таблице sql? Создание новой «команды» в PHP Использование PHP mcrypt с Rijndael / AES phpunit mock метод несколько вызовов с разными аргументами Как настроить и запустить Tesseract OCR для PHP (opensource)? Передача переменной цены в PayPal с помощью настраиваемой кнопки

кеширование заголовков из PHP

В PHP по умолчанию не отправляются заголовки, связанные с кешем.

HTTP/1.1 200 OK Date: Fri, 19 Nov 2010 11:02:16 GMT Server: Apache/2.2.15 (Win32) PHP/5.2.9-2 X-Powered-By: PHP/5.2.9-2 Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 26 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html 

Теперь, поскольку по умолчанию он ничего не говорит о кешировании, может ли это привести пример example.com/index.php в кэширование в некоторых ситуациях?

Да. В общем, каждый успешный ответ может быть кэширован, если не существует некоторых ограничений :

Если специально не ограничено директивой по управлению кешем ( раздел 14.9 ), система кэширования МОЖЕТ всегда сохранять успешный ответ (см. Раздел 13.8 ) в качестве записи в кэш, МОЖЕТ вернуть его без проверки, если он свежий, и МОЖЕТ вернуть его после успешной проверки ,

Да, обычно браузер будет кэшировать определенные файлы по умолчанию (обычно изображения и css), если на серверной стороне не установлены правила (см. Кеш браузера ).

Вы можете настроить заголовки управления кешем, чтобы управлять этим, или полностью отключить его, используя:

 header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); 

См. Пример № 2 в заголовке и прочитайте примечание ниже.

может ли это привести к тому, что example.com/index.php будет кэшироваться в некоторых ситуациях?

Этого не должно быть, однако есть много реализаций (особенно на мобильных устройствах / мобильных прокси), которые не ведут себя правильно в этом отношении.

Также есть много плохой информации о кешировании – «Pragma: no-cache» не имеет смысла при отправке с сервера.

Чтобы предотвратить кеширование:

 header("Cache-Control: no-store, no-cache, must-revalidate"); 

Когда все остальное не удается – проверьте руководство