Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Поиск по сайту

Активно и часто использую
Использую редко
Обхожусь стандартным рубрикатором
Не знаю, что это такое
Я и сам не знаю, что ищу


Результаты
Другие опросы

Всего голосов: 488
Комментарии: 0


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



Кэширование по содержанию

Речь пойдет о новой версии самого популярного в настоящее время языка написания сценариев для сервера - РНР 5. Этот язык позволяет разрабатывать высокопроизводительные Web-сайты любого масштаба и любой категории сложности. Рассматриваются такие вопросы, как синтаксические конструкции языка, объектно-ориентированное программирование на РНР, работа с базами данных и графическими изображениями, а также построение WAP-содержимого. Большое внимание уделяется эффективным решениям типовых практических задач на PHP, среди которых аутентификация посетителей, шифрование данных, использование сеансов, обработка ошибок, работа с электронной почтой. Еще более интеллектуальный вид управления предоставляет HTTP/1.1 на основе содержимого с помощью директив Vary. Я очень рекомендую применять его при формировании изображений или текстов большого объема, которые как показывает практика изменяются крайне редко.




При этом у пользователя в случае возврата не будет происходить их повторной выгрузки, если содержание осталось прежним, и страница будет взята с Вашего сервера, если ее содержание изменилось. Рассмотрим пример выдачи изображения из базы данных индентифицируемых по ID. Вызов страницы выглядит следующим образом:

Код
http://www.your.server/viewpic.php3?id=23123



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

PHP - Код
mysql_connect("host""user""passwd");

      
$image=mysql("db"" pics,type from pictures  id=$id");

      
Header("Cache-Control: public, must-revalidate");
      
Header("Vary: Content-ID");
      
Header("Content-ID: ".md5(mysql_result($image0"pics")));

      
Header("Content-type: ".mysql_result($image0"type"));

      echo 
mysql_result($image0"pics");
      
mysql_freeResult($image);
      
mysql_close();

.
.
.
.
.
.
.
.
.
.
.
.
.
.
Для управления используется MD5 сумма содержимого изображения. Пока содержание не изменилось, сумма будет постояной. В случае изменения содержания в базе на сервере клиент выполнит запрос для повторного формирования содержания. Пока изображение постоянно содержимое будет отображаться из кэш.



Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры PHP Кэширование по содержанию Еще более интеллектуальный вид управления предоставляет HTTP/1 на основе содержимого помощью директив Vary очень рекомендую применять его при формировании изображений или текстов большого объема которые как показывает практика изменяются крайне редко При этом пользователя случае возврата не будет происходить их повторной выгрузки если содержание осталось прежним страница взята Вашего сервера ее изменилось