установить заголовки сжатия и сжать, кэшировать заголовки? - PullRequest
2 голосов
/ 09 января 2011

Какие заголовки следует отправлять с выводом изображения (при открытии image.php позволяет пользователю загрузить изображение), чтобы установить время кэширования для этого изображения равным 3 дням (вместо повторной загрузки изображения со стороны пользователя) ??

и как мне сжать изображение и отправить его сжатым, и какие заголовки я должен отправить вместе, чтобы сообщить браузеру, что это изображение сжато?

спасибо.

Ответы [ 2 ]

0 голосов
/ 09 января 2011

эти заголовки должны быть в порядке

  • Возраст: XXXXXX
  • Контроль кэша: max-age = 259200
  • Длина содержимого: XXXXXX
  • Тип содержимого: изображение / XXXXXX
  • Дата: сб, XXXXXX
  • Etag: XXXXXX
  • Последнее изменение: XXXXXX
0 голосов
/ 09 января 2011

Что ж, самый простой способ сжатия - это включить deflate или gzip с уровня htaccess, если вы используете apache. Если нет, вы можете добавить функцию ob_gzhandler() в качестве обратного вызова ob_start() в начале документа следующим образом:

<?php
if( !ob_start("ob_gzhandler") ) {
    ob_start();
}
//Feel free to echo image data and whatnot, the callback deals with the headers, compatibility, and compression!
?>

Обратите внимание, что для этого требуется расширение zlib .

Вы также можете добавить эту функцию в качестве обратного вызова ob в файле php.ini или включить директиву zlib.output_compression .

Что касается настройки кэширования, просто добавьте этот вызов header() перед выводом текста:

<?php
header('Cache-Control: max-age='.(5184000 * 3).', must-revalidate'); //Cache should last for 3 days
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...