Введение в динамическое содержимое веб-с&#109

Author Topic: Введение в динамическое содержимое веб-сm  (Read 2379 times)

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Всемирная паутина это непрерывно развивающаяся сеть, ушедшая далеко вперед
от своей концепции ранних 1990-х, когда ее создание было обусловлено решением
конкретных задач. Высокотехнологичные эксперименты в ЦЕРНе (Европейском
центре физики высоких энергий, известном в наши дни в качестве обладателя боль-
шого адронного коллайдера) выдавали невероятно большой объем данных, который
был слишком велик для распространения среди участвующих в экспериментах уче-
ных, разбросанных по всему миру.
К тому времени Интернет уже существовал и к нему было подключено несколько
сотен тысяч компьютеров, поэтому Тим Бернерс-Ли (специалист ЦЕРНа) придумал
способ навигации между ними с использованием среды гиперссылок так называемо-
го протокола передачи гиперссылок (Hyper Text Transfer Protocol (HTTP)). Он также
создал специальный язык разметки, названный языком гипертекстовой разметки (Hyper
Text Markup Language (HTML)). Для того чтобы собрать все это воедино, он создал
первые браузер и веб-сервер, которые теперь воспринимаются нами как должное.
Но в то время эта концепция носила революционный характер. До этого основ-
ной объем соединений приходился на пользователей домашних модемов, дозвани-
вавшихся и подключавшихся к электронным доскам объявлений, которые базиро-
вались на отдельном компьютере и позволяли общаться и обмениваться данными
только с другими пользователями данной службы. Следовательно, для эффектив-
ного электронного общения с коллегами и друзьями нужно было становиться
участником многих электронных досок объявлений.
Но Бернерс-Ли изменил все это одним махом, и к середине 1990-х годов уже
существовали три основных конкурирующих друг с другом графических браузера,
пользовавшихся вниманием 5 млн посетителей. Но вскоре стало очевидно, что кое-
что было упущено. Конечно, текстовые и графические страницы, имеющие гипер-
ссылки для перехода на другие страницы, были блестящей концепцией, но резуль-
таты не отражали текущий потенциал компьютеров и Интернета по удовлетворению
насущных потребностей пользователей в динамическом изменении контекста. Все-
мирная паутина оставляла весьма невыразительное впечатление, даже при наличии
прокрутки текста и анимированных GIF-картинок.
31
Корзины покупателей, поисковые машины и социальные сети внесли суще-
ственные коррективы в порядок использования Всемирной паутины. В этой главе
будет дан краткий обзор различных компонентов, формирующих ее облик, и про-
граммного обеспечения, способствующего обогащению и оживлению наших впе-
чатлений от ее использования.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
HTTP и HTML: основы, заложенные Бернерсом-Ли
« Reply #1 on: June 09, 2017, 06:09:37 AM »
HTTP представляет собой стандарт взаимодействия, регулирующий порядок на-
правления запросов и получения ответов процесса, происходящего между брау-
зером, запущенным на компьютере конечного пользователя, и веб-сервером. За-
дача сервера состоит в том, чтобы принять запрос от клиента и попытаться дать
на него содержательный ответ, обычно передавая ему запрошенную веб-страницу.
Именно поэтому и используется термин сервер (обслуживающий). Партнером,
взаимодействующим с сервером, является клиент, поэтому данное понятие при-
меняется как к браузеру, так и к компьютеру, на котором он работает.
Между клиентом и сервером может располагаться ряд других устройств, например
маршрутизаторы, модули доступа, шлюзы и т. д. Они выполняют различные задачи
по обеспечению безошибочного перемещения запросов и ответов между клиентом
и сервером. Как правило, для отправки этой информации используется Интернет.
Обычно веб-сервер может обрабатывать сразу несколько подключений, а при
отсутствии связи с клиентом он находится в режиме ожидания входящего подклю-
чения. При поступлении запроса на подключение сервер подтверждает его полу-
чение отправкой ответа.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Процедура запрос ответ
« Reply #2 on: June 09, 2017, 06:10:43 AM »
В наиболее общем виде процесс запрос ответ состоит из просьбы браузера
к веб-серверу отправить ему веб-страницу и выполнения браузером данной прось-
бы. После этого браузер занимается отображением страницы (рис. 1.1).
При этом соблюдается такая последовательность действий.
1. Вы вводите в адресную строку браузера http://server.com.
2. Ваш браузер ищет IP-адрес, соответствующий доменному имени server.com.
3. Браузер посылает запрос на главную страницу server.com.
4. Запрос проходит по Интернету и поступает на веб-сервер server.com.
5. Веб-сервер, получивший запрос, ищет веб-страницу на своем жестком диске.
Процедура запрос ответ
32
6. Сервер извлекает веб-страницу и отправляет ее по обратному маршруту в адрес
браузера.
7. Браузер отображает веб-страницу.
Рис. 1.1. Основная последовательность процесса запрос ответ между клиентом и сервером
При передаче типовой веб-страницы этот процесс осуществляется для каждого
имеющегося на ней объекта: элемента графики, встроенного видео- или Flash-ро-
лика и даже шаблона CSS.
Обратите внимание на то, что на шаге 2 браузер ищет IP-адрес, принадлежащий
доменному имени server.com. У каждой машины, подключенной к Интернету, вклю-
чая и ваш компьютер, есть свой IP-адрес. Но, как правило, доступ к веб-серверам
осуществляется по именам, таким как google.com. Вам, должно быть, известно, что
браузер обращается к вспомогательной интернет-службе, так называемой службе
доменных имен (Domain Name Service (DNS)), для того чтобы найти связанный
с сервером IP-адрес, а затем воспользоваться им для связи с компьютером.
При передаче динамических веб-страниц процедура состоит из большего коли-
чества действий, поскольку к ней могут привлекаться как PHP, так и MySQL
(рис. 1.2).
Глава 1. Введение в динамическое содержимое веб-страницы
33
Шаги для динамической последовательности запрос ответ таковы.
1. Вы вводите в адресную строку браузера http://server.com.
2. Ваш браузер ищет IP-адрес, соответствующий доменному имени server.com.
3. Браузер посылает запрос на главную страницу server.com.
4. Запрос проходит по Сети и поступает на веб-сервер server.com.
5. Веб-сервер, получивший запрос, ищет веб-страницу на своем жестком диске.
6. Теперь, когда главная страница размещена в его памяти, веб-сервер замечает,
что она представлена файлом, включающим в себя PHP-сценарии, и передает
страницу интерпретатору PHP.
7. Интерпретатор PHP выполняет PHP-код.
8. Кое-какие фрагменты кода PHP содержат MySQL-инструкции, которые интер-
претатор PHP, в свою очередь, передает процессору базы данных MySQL.
9. База данных MySQL возвращает результаты выполнения инструкции интер-
претатору PHP.
 10. Интерпретатор PHP возвращает веб-серверу результаты выполнения кода PHP,
а также результаты, полученные от базы данных MySQL.
 11. Веб-сервер возвращает страницу выдавшему запрос клиенту, который отобра-
жает эту страницу на экране.
Конечно, ознакомиться с этим процессом и узнать о совместной работе трех
элементов не помешает, но на практике эти подробности не понадобятся, посколь-
ку все происходит в автоматическом режиме.
В каждом из примеров возвращенные браузеру HTML-страницы могут содер-
жать также код JavaScript, интерпретируемый локально на машине клиента. Этот
код может инициировать еще один запрос, точно так же запрос может быть ини-
циирован встроенными объектами, например изображениями.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
В начале этой главы был представлен мир технологии Web 1.0, но рывок к созданию
технологии Web 1.1, вместе с которой были разработаны такие браузерные расши-
рения, как Java, JavaScript, JScript (несколько иной вариант JavaScript от корпорации
Microsoft) и ActiveX, не заставил себя долго ждать. На серверной стороне прогресс
был обеспечен за счет общего шлюзового интерфейса (Common Gateway Interface
(CGI)), использования таких языков сценариев, как Perl (альтернатива языку PHP),
и выполнения сценариев на стороне сервера динамической вставки содержимого
одного файла (или выходных данных системного вызова) в другой файл.
Когда ситуация окончательно прояснилась, на передовых позициях остались
три основные технологии. Несмотря на то что язык сценариев Perl силами своих
стойких приверженцев сохранил популярность, простота PHP и допустимость
использования в нем встроенных ссылок на программу базы данных MySQL обес-
печили этому языку более чем двойное превосходство по количеству пользователей.
Преимущества использования PHP, MySQL, JavaScript и CSS
34
А JavaScript, ставший важнейшей составной частью уравнения, используемого для
динамического манипулирования каскадными таблицами стилей (Cascading Style
Sheets (CSS)) и HTML, в настоящее время берет на себя наиболее трудоемкие
задачи осуществления AJAX-процесса на стороне клиента. Благодаря технологии
AJAX веб-страницы обрабатывают данные и отправляют запросы веб-серверу в фо-
новом режиме, не оповещая пользователя о происходящем.
Несомненно, своеобразный симбиоз PHP и MySQL способствует их продви-
жению, но что привлекает к ним разработчиков в первую очередь? На это следу-
ет дать простой ответ: та легкость, с которой эти технологии можно использовать
для быстрого создания на сайтах динамических элементов. MySQL является
быстродействующей и мощной, но при этом простой в использовании системой
базы данных, предлагающей сайту практически все необходимое для поиска и об-
работки данных, которые предназначены для браузеров. Когда PHP для хранения
и извлечения этих данных выступает в союзе с MySQL, вы получаете основные
Рис. 1.2. Динамическая последовательность процесса запрос ответ,
выполняемого клиентом и сервером
Глава 1. Введение в динамическое содержимое веб-страницы
35
составляющие, необходимые для разработки сайтов социальных сетей и для пе-
рехода к технологии Web 2.0.
И когда вы также соедините вместе JavaScript и CSS, у вас появится рецепт для
создания высокодинамичных и интерактивных сайтов.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
PHP
« Reply #4 on: June 09, 2017, 07:22:00 AM »
Использование PHP существенно упрощает встраивание средств, придающих веб-
страницам динамические свойства. Когда страницам присваивается расширение
PHP, у них появляется прямой доступ к языку сценариев. Разработчику нужно
лишь написать код, похожий на этот:
<?php
 echo " Today is " . date("l") . ". ";
?>
Here's the latest news.
Открывающий тег <?php дает веб-серверу разрешение на интерпретацию всего
последующего кода вплоть до тега ?>. Все, что находится за пределами этой кон-
струкции, отправляется клиенту в виде простого HTML. Поэтому текст Here's the
latest news просто выводится в браузере. А внутри PHP-тегов встроенная функция
date отображает текущий день недели, соответствующий системному времени
сервера.
В итоге на выходе из этих двух частей получается примерно следующее:
Today is Wednesday. Here's the latest news.
PHP довольно гибкий язык, и некоторые разработчики предпочитают помещать
PHP-конструкцию непосредственно рядом с кодом PHP, как в этом примере:
Today is <?php echo date("l"); ?>. Here's the latest news.
Существуют также другие способы форматирования и вывода информации, ко-
торые будут рассмотрены в главах, посвященных PHP. Важно усвоить то, что, исполь-
зуя PHP, веб-разработчики получают язык сценариев, который хотя и не обладает
быстротой кода, скомпилированного на C или ему подобных языках, но все же рабо-
тает невероятно быстро и к тому же очень хорошо вписывается в разметку HTML.
Если вы собираетесь набирать встречающиеся в этой книге примеры на PHP, чтобы работать
параллельно с моим повествованием, не забывайте предварять их тегом <?php, а в конце
ставить тег ?>, для того чтобы обеспечить их обработку интерпретатором PHP. Для упро-
щения этой задачи можно заранее подготовить файл example.php, содержащий эти теги.
Используя PHP, вы получаете средство управления своим веб-сервером с не-
ограниченными возможностями. Если понадобится на лету внести изменения
в HTML, обработать данные кредитной карты, добавить сведения о пользователе
в базу данных или извлечь информацию из стороннего сайта, все это можно будет
сделать из тех же самых PHP-файлов, в которых находится и сам код HTML.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
MySQL
« Reply #5 on: June 09, 2017, 07:23:40 AM »
Разумеется, без средств отслеживания тех изменений, которые пользователь вно-
сит во время работы с вашим сайтом, нельзя в полной мере говорить о возможно-
стях динамического изменения выходного кода HTML. На заре создания Всемир-
ной паутины многие сайты использовали неструктурированные текстовые файлы
для хранения таких данных, как имена пользователей и пароли. Но такой подход
мог вызвать ряд проблем, если файл не был надежно заблокирован от повреждений,
возникающих при одновременном доступе к нему множества пользователей. К то-
му же неструктурированный файл мог разрастаться до таких размеров, что с ним
непросто было работать, не говоря уже о трудностях, связанных с попытками объ-
единения файлов и осуществления в них сложных поисковых операций за какое-
нибудь мало-мальски приемлемое время.
Именно в таких случаях большое значение приобретает использование реляци-
онных баз данных со структурированной системой запросов. И MySQL, будучи
совершенно бесплатной и установленной на огромном количестве веб-серверов
системой, оказывается как нельзя кстати. Она представляет собой надежную и ис-
ключительно быстродействующую систему управления базами данных, исполь-
зующую команды, похожие на простые английские слова.
Высшим уровнем структуры MySQL является база данных, внутри которой
можно иметь одну или несколько таблиц, содержащих ваши данные. Предположим,
вы работаете над таблицей под названием users (пользователи), внутри которой
были созданы графы для фамилий surname, имен firstname и адресов электрон-
ной почты email, и теперь нужно добавить еще одного пользователя. Одна из
команд, которую можно применить для этого, выглядит следующим образом:
INSERT INTO users VALUES('Smith', 'John', 'jsmith@mysite.com');
Разумеется, как упоминалось ранее, для создания базы данных и таблицы,
а также настройки всех нужных полей понадобится выдать и другие команды, но
используемая здесь команда INSERT демонстрирует простоту добавления в базу
данных новой информации. Команда INSERT является примером структурирован-
ного языка запросов (Structured Query Language (SQL)), разработанного в начале
1970-х годов и напоминающего один из старейших языков программирования
COBOL. Тем не менее он хорошо подходит для запросов к базе данных, что и пред-
определило его использование в течение столь длительного времени.
Так же просто выполняется и поиск данных. Предположим, что имеется адрес
электронной почты пользователя и нужно найти имя его владельца. Для этого
можно ввести следующий запрос MySQL:
SELECT surname,firstname FROM users WHERE email='jsmith@mysite.com';
После этого MySQL вернет Smith, John и любые другие пары имен, которые
могут быть связаны в базе данных с адресом электронной почты.
Нетрудно предположить, что возможности MySQL простираются значительно
дальше выполнения простых команд вставки и выбора INSERT и SELECT. Например,
можно объединить несколько таблиц в соответствии с множеством различных
критериев, запросить результаты, выбрав порядок их выдачи из множества вари-
Глава 1. Введение в динамическое содержимое веб-страницы
37
антов, найти частичные совпадения, если известна только часть искомой строки,
вернуть конкретно заданное количество результатов и сделать многое другое.
При использовании PHP все эти вызовы можно направлять непосредственно
к MySQL, без необходимости запуска самой программы MySQL или использования
ее интерфейса командной строки. Это значит, что для того, чтобы докопаться до
нужного вам элемента данных, вы можете сохранять результаты в массивах для их
обработки и осуществления множества поисковых операций, каждая из которых
зависит от результатов, возвращенных предыдущими операциями.
Далее будет показано, что для придания еще большей мощности прямо в MySQL
встроено несколько дополнительных функций, которые можно вызвать для наи-
более часто встречающихся операций и повышения скорости обработки данных.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
JavaScript
« Reply #6 on: June 09, 2017, 07:24:52 AM »
Самая старая из трех основных технологий, рассматриваемых в данной книге,
JavaScript была создана для получения доступа из сценариев ко всем элементам
HTML-документа. Иными словами, она предоставляет средства для динамическо-
го взаимодействия с пользователем, например для проверки приемлемости адресов
электронной почты в формах ввода данных, отображения подсказок наподобие Вы
действительно подразумевали именно это? и т. д. (хотя с точки зрения безопас-
ности, которая всегда должна реализовываться на веб-сервере, на эту технологию
положиться нельзя).
В сочетании с CSS JavaScript закладывает основу мощности динамических веб-
страниц, которые изменяются буквально на глазах, в отличие от новой страницы,
возвращаемой сервером.
Тем не менее с использованием JavaScript могут возникнуть осложнения, обу-
словленные некоторыми существенными различиями в способах реализации это-
го языка, выбранных разными разработчиками браузеров. В основном эти различия
возникают, когда некоторые производители пытаются придать своим браузерам
дополнительные функциональные возможности, не обращая внимания на совме-
стимость с продуктами своих конкурентов.
К счастью, разработчики в большинстве своем уже взялись за ум и осознали
необходимость полной совместимости своих продуктов, чтобы не приходилось
создавать код с множеством исключений. Но остаются миллионы экземпляров
устаревших браузеров, которыми будут пользоваться на протяжении еще многих
лет. Тем не менее и для них существуют решения проблем несовместимости, и поз-
же в этой книге будут рассмотрены библиотеки и технологии, позволяющие без
каких-либо опасений игнорировать существующие различия.
А сейчас взглянем на то, как можно воспользоваться обычным JavaScript-кодом,
воспринимаемым всеми браузерами:
<script type="text/javascript">
 document.write("Today is " + Date() );
</script>
Этот фрагмент кода предписывает браузеру интерпретировать все, что нахо-
дится внутри тегов script, в качестве кода JavaScript, что затем браузер и сделает,
Преимущества использования PHP, MySQL, JavaScript и CSS
38
записав в текущий документ текст Today is , а также дату, полученную за счет
использования принадлежащей JavaScript функции Date. В результате получится
нечто подобное следующему:
Today is Sun Jan 01 2017 01:23:45
Если не требуется указывать конкретную версию JavaScript, то, как правило, можно опустить
type="text/javascript" и использовать для начала интерпретации JavaScript тег <script>.
Ранее было упомянуто, что изначально JavaScript разрабатывался для того, чтобы
получить возможность динамического управления различными элементами, нахо-
дящимися внутри HTML-документа, и это его предназначение по-прежнему явля-
ется основным. Но все чаще JavaScript применяется для реализации технологии
AJAX. Это понятие используется для обозначения процессов доступа к веб-серверу
в фоновом режиме. (Сначала оно означало асинхронный JavaScript и XML
Asynchronous JavaScript and XML, но сейчас это определение несколько устарело.)
AJAX процесс, лежащий в основе технологии Web 2.0 (этот термин популя-
ризирован Тимом О'Рейли, основателем и исполнительным директором издатель-
ства, в котором эта книга вышла на английском языке), при использовании которой
веб-страницы стали напоминать автономные программы, поскольку их уже не
нужно загружать целиком. Вместо этого в быстром вызове AJAX может быть за-
действован отдельный элемент веб-страницы, например, может быть изменена ваша
фотография на сайте социальной сети или заменена кнопка, на которой нужно
щелкнуть, отвечая на вопрос. Полностью эта тема будет рассмотрена в главе 18.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
CSS
« Reply #7 on: June 09, 2017, 07:25:54 AM »
После появления третьего стандарта (CSS3) CSS предлагает уровень динамической
интерактивности, которая прежде поддерживалась только с помощью JavaScript. На-
пример, вы можете не только придать стиль любому элементу HTML, чтобы изменить
его размеры, цвета, границы, интервалы, но и, используя всего лишь несколько строк
CSS, добавить своим веб-страницам анимированные переходы и преобразования.
Применение CSS может просто заключаться во вставке правил между тегами
<style> и </style>, расположенными в заголовке веб-страницы:
<style>
 p
 {
 text-align:justify;
 font-family:Helvetica;
 }
</style>
Эти правила будут изменять исходное выравнивание текста тега <p>, чтобы
содержащиеся в нем абзацы были полностью выровнены и для них использовался
шрифт Helvetica.
Глава 1. Введение в динамическое содержимое веб-страницы
39
В главе 19 вы увидите, что существует множество различных способов задания
правил CSS и их также можно включать непосредственно в теги или сохранять во
внешнем файле, предназначенном для отдельной загрузки. Такая гибкость позво-
ляет проводить точную настройку стиля HTML. Вы также увидите, как с помощью
CSS можно, например, создать встроенную функцию hover для анимирования
объектов при проходе над ними указателя мыши. Кроме того, вы научитесь получать
доступ ко всем свойствам CSS-элемента из JavaScript и из HTML.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
А теперь HTML5
« Reply #8 on: June 09, 2017, 07:26:30 AM »
Какими бы ни были полезными все эти дополнения к веб-стандартам, самым амби-
циозным разработчикам и их было мало. К примеру, так и не был придуман простой
способ работы с графикой в браузере, не требующий обращения к таким дополни-
тельным модулям, как Flash. То же самое происходило и в отношении аудио- и ви-
деовставок в веб-страницы. Кроме того, можно отметить множество досадных не-
соответствий, вкравшихся в HTML в процессе его развития.
Итак, чтобы подчистить все эти шероховатости, перенести Интернет за пределы
технологии Web 2.0 в его следующую фазу развития, был создан новый стандарт
HTML, устраняющий перечисленные недостатки. Он был назван HTML5 и начал
разрабатываться с далеком 2004 году, когда Mozilla Foundation и Opera Software
(разработчики двух популярных браузеров) составили его первый проект. Но его
окончательный проект был представлен World Wide Web Consortium (W3C), меж-
дународной организацией, руководящей веб-стандартами, лишь в начале 2013 года.
Учитывая, что разработка велась девять лет, можно было бы подумать, что речь
идет об окончательной спецификации, но в Интернете так не бывает. Хотя сайты
появляются и исчезают с большой скоростью, базовое программное обеспечение
разрабатывается довольно медленно и тщательно, поэтому появление твердых
рекомендаций в отношении HTML5 вплоть до публикации данного издания этой
книги, то есть в конце 2014 года, не ожидалось. Догадайтесь почему. Начиная
с 2015 года работа уже пойдет над версиями от 5.1 и выше. Таким образом нас
ожидает бесконечный цикл разработки.
Но, хотя в HTML5.1 планируется привнесение в язык множества удобных усо-
вершенствований (в основном это касается холстов), основной HTML5 является
именно тем новым стандартом веб-разработок, с которым сейчас уже нужно рабо-
тать, и он никуда не денется в течение многих грядущих лет. Поэтому сейчас о нем
нужно знать все, что возможно, и это станет для вас очень весомым подспорьем.
Это стандарт действительно внес в HTML много нового (при весьма скромном
объеме измененных или удаленных прежних свойств), но, если говорить вкратце,
с его появлением вы получаете следующее:
? разметку. Включены такие новые элементы, как <nav> и <footer>, а в разряде
нерекомендуемых теперь числятся такие элементы, как <font> и <center>;
? новые API. Например, элемент <canvas> (холст) для записи и рисования на гра-
фических холстах, элементы <audio> и <video>, автономные веб-приложения,
микроданные и локальное хранилище;
А теперь HTML5
40
? приложения. Включены две новые технологии отображения: MathML (Math
Markup Language язык математической разметки) для вывода на экран мате-
матических формул) и SVG (Scalable Vector Graphics масштабируемая век-
торная графика) для создания графических элементов за пределами нового
элемента <canvas>. Но MathML и SVG носят специализированный характер
и содержат столько особенностей, что для их описания потребуется отдельная
книга, поэтому здесь они рассматриваться не будут.
Все это (и не только) будет рассмотрено в главе 22.

Offline admin

  • Administrator
  • Newbie
  • *****
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Веб-сервер Apache
« Reply #9 on: June 09, 2017, 07:28:17 AM »
В дополнение к PHP, MySQL, JavaScript, CSS и HTML5 в динамической веб-тех-
нологии фигурирует и шестой герой веб-сервер. В нашей книге предполагается,
что это веб-сервер Apache. Мы уже немного касались того, что делает веб-сервер
в процессе обмена информацией между клиентом и сервером по протоколу HTTP,
но на самом деле негласно он выполняет куда более масштабную работу.
Например, Apache обслуживает не только HTML-файлы он работает с ши-
роким спектром файлов, начиная с файлов изображений и Flash-роликов и за-
канчивая аудиофайлами формата MP3, файлами RSS-потоков (Really Simple
Syndication простое распространение по подписке) и т. д. Для этого каждый
элемент, найденный на HTML-странице веб-клиентом, также запрашивается у сер-
вера, который затем и осуществляет обслуживание.
Но эти объекты не должны быть статическими файлами, такими как изобра-
жения GIF-формата. Все они могут быть сгенерированы программами, такими как
сценарии PHP. И это действительно возможно: PHP способен даже создавать для
вас изображения и другие файлы либо на лету, либо заранее, в расчете на после-
дующее обслуживание. Для этого обычно имеются модули, либо предварительно
скомпилированные в Apache или PHP, либо вызываемые во время выполнения
программы. Одним из таких модулей является библиотека GD (Graphics Draw
рисование графики), которую PHP использует для создания и обработки графи-
ческих элементов.
Apache поддерживает также обширный арсенал собственных модулей. В допол-
нение к модулям PHP наиболее важными для вас, как для веб-программиста, будут
модули, занимающиеся обеспечением безопасности. В качестве других примеров
могут послужить модуль Rewrite, позволяющий веб-серверу обрабатывать широкий
Глава 1. Введение в динамическое содержимое веб-страницы
41
диапазон типов URL-адресов и перезаписывать их в соответствии с его внутрен-
ними требованиями, и модуль Proxy, который можно использовать для обслужи-
вания часто запрашиваемых страниц из кэша, для того чтобы снизить нагрузку на
сервер.
Далее в книге будет показано практическое применение этих модулей для улуч-
шения свойств, предоставляемых тремя основными технологиями.

 

http://www.oracoll.ru




Рейтинг@Mail.ru
счетчик посещений