Динамические сайты Сделай сайт сам - разработка сайта!
Динамические сайты Сделай сайт сам - разработка сайта! Динамические сайты Сделай сайт сам - разработка сайта! Динамические сайты Сделай сайт сам - разработка сайта! Динамические сайты Сделай сайт сам - разработка сайта! Динамические сайты Сделай сайт сам - разработка сайта!
Динамические сайты Сделай сайт сам - разработка сайта!
Главная
О компании
Сделать заказ
Форум веб разработчиков
Работы студии
Бесплатный хостинг!
Все меню
 
Дизайн сайта USruss.com!
Шаблон CMS SOFTSOUL Туристическое Агенство!
Сайт клиники семейной медицины Аирмед
Шаблон CMS SOFTSOUL Недвижимость в Крыму!
Компания Аква Стар - доставка очищенной воды!
Три ресторана - три изумруда в короне Московского интернета!
Флеш-заставка к сайту клубного бара Субмарина!
Серия флеш-игр для Казино - рулетка, кости и покер!
 

  Вы можете более детально изучить наше портфолио работ на своем персональном компьютере - Портфолио скачать (50 Мб)! Добавлены работы 2007 года!
Вы можете заказать CD презентацию для своей компании и распространять её на CD! CD презентация (80 Мб)!
Создание сайта бесплатно, как сделать сайт бесплатно! Бесплатно создание сайта!
Вашему сайту не хватает оптимизации и раскрутки в поисковых системах! Раскрутка и оптимизация сайта!
Нужен надежный и безотказный хостинг Надежный хостинг сайтов!
Если Вы живете в России (Москва, Россия), то Вы можете заказать сайт в нашем Московском филиале студии дизайна SOFTSOUL Создание сайта Москва Россия!
Если Вы живете в Украине (Киев, Украина), то Вы можете заказать сайт в нашем Киевском филиале студии дизайна SOFTSOUL Создание сайта Киев Украина!
Если Вы живете в Крыму (Симферополь, Украина), то Вы можете заказать сайт в нашем Крымском филиале студии дизайна SOFTSOUL Создание сайта Симферополь Крым!
Если Вам интересен Отдых и Недвижимость в Крыму, то Вы можете ознакомиться с вариантами отдыха и предлагаемой недвижимости на портале Крым для Россиян Портал Крым для Россиян !
 

Автомагазин и аукцион авто, купить и продать легковой автомобиль! Дизайн студия сделать сайт!

Оптимизация под поисковые системы и раскрутка сайта! Дизайн студия сделать сайт!

Как найти работу в интернет, поиск работы за рубежом - найди свою работу. Дизайн студия сделать сайт!

Динамические сайты Сделай сайт сам - разработка сайта!
Динамические сайты Сделай сайт сам - разработка сайта!
 
Динамические сайты

Если Вы когда-нибудь занимались созданием динамического сайта, то есть сайта, состоящего не из статичных HTML страничек, а скриптов, взаимодействующих с разными файлами и базами данных, Вы наверняка сталкивались (а если нет, то еще столкнетесь) с такими проблемами:

  1. «правильное» кэширование;
  2. «правильные» HTTP заголовки.

Поясняю первый пункт. Кэширование — механизм, позволяющий клиенту (то есть пользователю на том конце соединения, точнее — его браузеру, для пользователя этот процесс незаметен) при просмотре одних и тех же файлов (например, картинок, составляющих элементы дизайна сайта, или файлов стилей CSS) не скачивать их каждый раз заново, а скачивать только однажды, а затем, по мере необходимости, использовать сохраненную на компьютере клиента копию. Принцип его работы примерно таков: при возникновении очередной необходимости скачать файл клиент обращается к серверу с запросом, не был ли файл изменен (не устарела ли копия на машине клиента), и если нет, не скачивает его заново, а использует сохраненный вариант. В браузерах, точно придерживающихся спецификации протокола HTTP, можно также добиться того, что запросы вообще не будут посылаться каждый раз, если есть сохраненная копия файла и точно известно, что она не успела устареть. Прелесть в том, что трафик (объем скачанных из Интернет данных) клиента уменьшается, и пользователь видит, что «сайт работает быстро». Естественно, уменьшается и трафик сервера, что позволяет снизить нагрузку на сервер и даже сэкономить, если Вы пользуетесь платным хостингом.

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

Поясню теперь пункт второй. Когда клиент запрашивает у сервера файл по протоколу HTTP, он, кроме содержимого самого файла (код в случае HTML файла, текст в случае текстового файла и т.п.), получает также HTTP headers — заголовки HTTP. Это служебные текстовые поля с информацией, которая не отображается в браузере, но интерпретируется им и, в основном, служит для сообщения клиенту данных о запрашиваемой странице.

Заголовок ETag («объектная метка»), например, служит для присвоения каждой странице уникального идентификатора, который остается неизменным, пока страница не модифицирована, и изменяется, если изменились данные на странице. Этот заголовок сохраняется на клиенте, и в случае необходимости повторного скачивания «меченой» страницы позволяет браузеру обращаться к серверу с запросом 'If-None-Match' — в таком случае сервер должен по значению ETag-метки сохраненной на клиенте копии определить, не устарела ли она, и если нет, ответить кодом '304 Not Modified' («не модифицировано»), и страница не будет скачена еще раз.

Заголовок Last-Modified («последнее изменение») предназначен для того, чтобы сообщить клиенту дату и время, когда последний раз изменилась запрашиваемая страница. Используя его, клиент, подобно случаю с ETag, может обращаться к серверу с запросом 'If-Modified-Since' — в этом случае сервер должен сравнить дату последней модификации копии, сохраненной на клиенте, с актуальной датой последней модификации. Если они совпадут, это значит, что копия в кэше клиента не устарела, и повторное скачивание не нужно (код ответа '304 Not Modified'). Last-Modified также необходим для корректной обработки Вашего сайта роботами - спайдерами (спайдер, англ. «паук» — это робот, который ходит по паутине Интернета и индексирует сайты, чтобы их можно было найти через поисковые системы, например, Google), которые используют информацию о дате модификации страниц в целях сортировки результатов поиска по дате, а также для определения частоты обновляемости Вашего сайта (см. например, что об этом пишет Яndex).

Какой из этих методов определения «свежести» интернет-страниц использует клиент (и использует ли он их вообще), зависит от его возможностей и настроек. По хорошему, надо отправлять оба этих заголовка с каждым файлом, отданным Вашим сервером.

Есть еще заголовок Expires («истечение») — он сообщает браузеру, какой временной промежуток можно считать, что копия страницы в кэше свежа, и вообще не обращаться к серверу с запросами. Это удобно для таких файлов, о которых вы точно знаете, что они не изменятся ближайший час/день/месяц: фоновая картинка страницы, например. К сожалению, поддерживается не всеми браузерами. В рассматриваемом примере Expires будет равен десяти минутам, что подходит для большинства сайтов, на которых информация обновяется не слишком часто (~ раз в час).

Чтобы реализовать отправку «правильных» HTTP заголовков страницами Вашего сайта, надо как-то определять, когда модифицируются эти страницы. Проблема состоит в том, что в отличие от ситуации со статичными HTML файлами, когда дата модификации файла и его содержимого это одно и тоже, динамические страницы могут менять свое содержимое в зависимости от предусмотренных разработчиком внешних факторов (время суток, запрос пользователя, импорт данных из БД) без изменения файла скрипта. То есть дата модификации файла и информации, которую он отсылает клиенту, запросто могут не совпадать. Другая проблема, вытекающая из предыдущей, заключается в том, что часто на динамических сайтах на каждую страницу ставят голосование, "шутку дня" или баннерокрутилку, код которых меняется при каждой следующей загрузке. То есть надо смотреть не на всю сгенерированную страницу, а только на ту ее часть, которая несет основную информацию — текст статьи, прайс-лист и т.п.

На первый взгляд все очень сложно и непонятно, но пугаться не стоит, потому как система, которая будет рассмотрена далее, достаточно проста. Сложнее понять то, что нам нужно сделать, чем то, как.

Для решения вышеописанных проблем необходимо:

  1. "Отловить" со страницы ту часть контента, за которой мы "следим";
  2. Сравнить то, что получилось, с тем, что получилось в прошлый раз — для этого использовать БД, где и хранить информацию о страницах;
  3. В случае модификации данных — обновить информацию о странице в БД;
  4. Отослать клиенту HTTP заголовки в зависимости от его запроса.

Сделать это можно разными способами. Мы будем рассматривать систему, написанную на языке PHP, так как этот язык сейчас популярен, довольно прост для понимания и поддерживается большинством хостингов, в том числе и бесплатными. Данные мы будем хранить в БД MySQL по тем же причинам.

Итак, что там у нас там, на сайте? Динамические страницы, то есть PHP скрипты. Как функционирует эта «динамика»? Если сайт у Вас небольшой, то, скорее всего, у Вас под каждую страницу существует свой скрипт: index.php – для главной страницы, news.php для страницы новостей и т.п. Если же сайт у Вас выходит за рамки «домашней странички» и имеет сложную структуру, свой форум или пользовательскую зону, построен с использованием баз данных, то, вероятно, одним скриптом типа showpage.php генерируются сотни концептуально различных страниц (например, страницы форума генерирует один скрипт, но страницы-то разные, и надо следить за каждой отдельно). Первый случай проще для рассмотрения, хотя, если Вы поймете суть предлагаемой системы, Вы сможете без особых проблем интегрировать ее и на сайте, описанном во втором случае. А мы рассмотрим случай первый.

Чего надо «избежать» при «отлове» контента? Баннеров, счетчиков и всего, что написано в меню. Это не принципиально — Вы сами решаете, какой объем информации, отдаваемой Вашими скриптами, будет использоваться для определения их модификации.

Если Ваш сайт слишком громоздкий и сложный для такой модификации, есть более простой выход: буферизация вывода, стандартная функция PHP (Когда буферизация вывода активна, все, что генерирует скрипт, не высылается клиенту, а сохраняется во внутреннем буфере.) То, что попало в буфер, можно положить в переменную и работать с этими данными, как с обычной строковой переменной, а потом отослать клиенту. Тогда Вам необходимо просто найти в коде начало и конец того куска выводимой информации, которую надо проверять, и маркировать этот кусок HTML-комментариями.

Теперь мы отделили «мух от котлет» и информация, которую будем «контент-мониторить», заключена у нас между HTML-комментариями. Остается включить буферизацию, в конце скрипта взять данные из буфера, выловить оттуда часть кода между комментариями, и обработать его на предмет модификации. По результатам этой обработки, а также в зависимости от запроса клиента, отослать HTTP заголовки.

 
Динамические сайты Сделай сайт сам - разработка сайта!
Динамические сайты Сделай сайт сам - разработка сайта! Динамические сайты Сделай сайт сам - разработка сайта! Динамические сайты Сделай сайт сам - разработка сайта!
 
 
Индекс цитирования Дизайн студия SOFTSOUL www.softsoul.com Крым купить недвижимость, продать недвижимость, дома, дачи, эллинги, отели. Покупка недвижимости на южном берегу Крыма! Крым Отдых в Крыму - частный сектор, пансионаты, санатории, гостинницы, эллинги, дачи, виллы на южном берегу Крыма! Студия веб дизайна Сделать сайт
Студия веб дизайна SOFTSOUL. CMS, CMR, система управления  сайтом и контентом!  Крымская дизайн студия AzureAit - оригинальный дизайн Вашего сайта! Раскрутка сайта! Самые эффективная раскрутка сайтов. Раскрутка сайта навсегда! Продвижение сайта на первые места поисковых систем!  Отдых в Крыму! Санатории, пансионаты, частный сектор... Покупка недвижимости в Крыму, качественная аренда жилья, лучшие элитные коттеджи и виллы Крыма.
 
Главная О компании Сделать заказ Форум веб разработчиков Работы студии Бесплатный хостинг!

Copyright 2001-2008 Softsoul All Rights Reserved
  • 17.04.2008
  • Завершена разработка портала-аукциона брендовых мотоциклов http://www.citymoto.ru/, дизайн выполнен в яркой цветовой гамме, разработан логотип для торговой марки, аукцион включает в себя програмный паук, который собирает информацию с зарубежного аукциона, удобную систему управления и массу современных сервисов... купи реальный мотоцикл!
     
  • 31.03.2008
  • Завершена разработка нового ядра - системы управления сайтом CMS SOFTSOUL "Два клика"! Это настоящее революционное решение в сфере разработки сайтов визиток, это уникальная возможность каждому получить готовый полнофункциональный сайт в течении 5 дней, который позволит Вашему бизнесу эффективно расширить сферу деятельности в интернет...
     
  • 13.02.2008
  • Завершена разработка Крымского туристического портала "Крымские каникулы" http://www.kanikuli.org/, дизайн выполнен в стиле коллажа с использованием графических материалов туристической тематики, фотоматериалов с пейзажами Крыма, портал управляется удобной системой управления сайтами... если Вы собрались в Крым и хотите его посмотреть глазами туриста - то вам сюда!...
     
  • 12.02.2008
  • Завершены работы по редизайну портала Автомагазин и аукцион авто "Автогалерея" (Москва) www.autogl.ru, в дизайне использована мягкая цветовая гамма на основе терракотового цвета, в этот раз решили отказаться от громоздских флеш-элементов с реалистичной анимацией водопада и конкретных автомобилей, ограничились приятным для глаза видом уходящей вдаль дороги...
     
  • 22.12.2007
  • Студия веб дизайна SOFTSOUL сердечно поздравляет всех своих клиентов с Рождественскими и Новогодними праздниками, желает им счастья, здоровья и процветания их бизнеса в интернете! Помните Вы всегда имеете возможность связаться с нами, мы обеспечим ежедневную техническую поддержку разработанного Вам сайта, также мы готовы эффективно заниматься оптимизацией под поисковые системы и раскруткой Вашего сайта...
     
       Все новости
     

      Для решения задач, связанных с эффективным управлением контентом на Вашем сайте был создан CMS SOFTSOUL. Использование CMS SOFTSOUL позволяет значительно сократить издержки на создание, поддержку и развитие сложных информационных систем. Для получения более подробной информации зайдите пожалуйста на сайт Система управления сайтом!
    Завершена разработка нового ядра - системы управления сайтом CMS SOFTSOUL "Два клика"! Бюджет минимальный - сроки разработки сайта-визитки минимальны! Для получения более подробной информации зайдите пожалуйста на сайт Сделать сайт визитку!
    Приглашаем партнеров, которые заинтересованы в развитии интернет бизнеса и желают заработать в интернете, но не имеют стартового капитала, для Вас специальные программы - мы обеспечиваем Вас сервисом, например интернет магазином, Вы выплачиваете % от прибыли после полного цикла раскрутки сайта и начала коммерческой деятельности проекта. Очевидны все преимущества такого подхода - у нас есть Продукт и сервисы, у Вас есть идеи - успех обеспечен! Для получения более подробной информации зайдите пожалуйста на сайт Портал как заработать в интернете!

    Разработан музыкальный портал MP3 SOFTSOUL. Использование MP3 SOFTSOUL позволяет управлять полноценным интернет магазином по продаже MP3 музыки. Мы также можем разработать любой програмный движок под любые задачи! Также наша система управления сайтами позволяет создавать порталы развлечений и сайты знакомств.

    Вы также можете посетить форум веб дизайнеров и веб мастеров Форум веб дизайна!...