Эндрю Уэзеролл - Компьютерные сети. 5-е издание
- Название:Компьютерные сети. 5-е издание
- Автор:
- Жанр:
- Издательство:Питер
- Год:2011
- ISBN:9785446100682
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Эндрю Уэзеролл - Компьютерные сети. 5-е издание краткое содержание
Компьютерные сети. 5-е издание - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Тем не менее для веб-серверов были разработаны стандартные API, чтобы запускать программы. Существование этих интерфейсов позволяет разработчикам тратить меньше усилий на расширение различных серверов за счет веб-приложений. Мы кратко рассмотрим два API, чтобы вы получили о них некоторое представление.
API является методом обработки запросов динамических страниц. Он был доступен с момента возникновения Всемирной паутины. Он называется CGI( Common Gateway Interface— общий шлюзовой интерфейс) и определен в RFC 3875. CGI предоставляет интерфейс, позволяющий веб-серверам общаться с прикладными программами и скриптами, которые могут получать данные (например, из формы) и в ответ генерировать HTML-страницы. Эти программы могут быть написаны на любом выбранном разработчиком языке, обычно с использованием скриптов для простоты разработки. Выберите Python, Ruby, Perl или другой язык, который вам по нраву.
Существует договоренность, в соответствии с которой программы, запускаемые через CGI, должны размещаться в каталоге CGI-BIN, который виден в URL. Сервер отображает запрос в этот каталог на имя программы и запускает программу как отдельный процесс. Он предоставляет программе любые данные, отосланные с запросом, как входные. На выходе программы получается веб-страница, передаваемая в браузер.
В нашем примере программа order.cgi вызывается с данными, введенными в форму, как показано в листинге 7.5. Она проанализирует параметры и обработает заказ.
Полезной представляется договоренность о том, что программа вернет HTML для формы заказа, если эта форма не была заполнена. Таким образом, программа неизбежно будет знать, в каком виде представлена форма.
Второй API, о котором мы поговорим, серьезно отличается от уже описанного. Этот способ заключается во внедрении небольших скриптов в HTML-страницы. Они выполняются на сервере, в их задачу входит генерирование страницы. Популярным инструментом для написания таких скриптов является PHP (PHP:Hypertext Preprocessor — РНР:Гипертекстовый препроцессор). При его использовании требуется, чтобы сервер понимал PHP (точно так же, как браузер должен понимать CSS, чтобы интерпретировать страницы, написанные с применением таблиц стилей). Обычно серверы определяют веб-страницы, написанные на PHP, по расширению php, а не htm или html.
PHP проще использовать, чем CGI. Пример обработки формы с помощью PHP показан в листинге 7.8, а. В верхней части листинга мы видим обычную HTML-страницу с простой формой. На этот раз тег указывает на то, что action.php должен быть запущен для обработки параметров после нажатия кнопки подтверждения. Форма в этом примере состоит из двух текстовых полей ввода, в одном из которых запрашивается имя пользователя, а в другом — его возраст. По окончании работы пользователя с формой на сервер отсылается стандартная строка, пример которой мы уже видели ранее. Эта строка обрабатывается, из нее извлекаются значения переменных name и age. Затем начинает свою работу скрипт action.php, показанный в листинге 7.8, б. Он генерирует ответ. Работа скрипта заключается в исполнении php-команд. Если пользователь предоставил данные «Барбара» и «24», ему будет прислан HTML-файл, код которого показан в листинге 7.8, в. Как видите, обработка форм с помощью PHP производится элементарно.
Листинг 7.8. Веб-страница с формой (а); PHP-скрипт для обработки формы (б);
результат работы PHP-скрипта при исходных данных «Барбара» и «24» соответственно (в)
Листинг 7.8 (продолжение)
Несмотря на простоту использования, PHP — это мощный язык программирования для взаимодействия со Всемирной паутиной и серверными базами данных. В PHP есть переменные, строки, массивы и большинство управляющих структур, присущих языку С, однако ввод/вывод гораздо мощнее, чем обычный printf. PHP имеет открытый исходный код, распространяется бесплатно и широко используется. PHP был разработан специально для сервера Apache, который также обладает открытым исходным кодом и является самым распространенным веб-сервером в мире. Более подробную информацию по PHP можно найти в (Valade, 2009).
Итак, мы знаем уже два различных способа генерации динамических HTML-страниц: с помощью CGI-скриптов и внедрения PHP. Есть и еще несколько методов на выбор. Так, JSP (JavaServer Pages — Страницы сервера Java) в целом схож с PHP и отличается только тем, что динамическая часть программируется на языке Java. Файлы страниц, написанных с помощью JSP, имеют одноименное расширение: .jsp. ASP. NET (Active Server Pages .NET — активные серверные страницы .NET) — это ответ Microsoft на PHP и JSP. Здесь для генерации динамического контента используются программы, написанные в собственной среде разработки сетевых приложений .NET, созданной Microsoft. Соответственно, файлы страниц, написанных с использованием этого метода, имеют расширение .aspx. Вопрос выбора между этими тремя техниками в основном политический (открытый исходный код против Microsoft). С точки зрения технологий все эти методы вполне сравнимы по возможностям.
Создание динамических веб-страниц на стороне клиента
Скрипты CGI и PHP решают вопросы обработки вводимых данных и взаимодействия с базами данных, расположенными на сервере. Они могут принимать входящую информацию из форм, осуществлять поиск по одной или нескольким базам данных и в качестве результата генерировать HTML-страницы. Но ни один из этих методов не позволяет напрямую взаимодействовать с пользователем, например реагировать на движения мышкой. Для этих целей необходимы скрипты, внедренные в HTML-страницы и выполняющиеся не на серверной, а на клиентской машине. Начиная с HTML 4.0, появилась возможность включать скрипты такого типа с помощью тега . Технологии, которые использовались для создания этих интерактивных вебстраниц, часто ошибочно называют динамическим HTML (dynamic HTML).
Наиболее популярный язык написания сценариев для клиентской стороны — это JavaScript. Его мы вкратце и рассмотрим ниже. Несмотря на схожесть названий, JavaScript практически не похож на язык программирования Java. Как и другие языки написания скриптов, он очень высокоуровневый. Так, одной строкой JavaScript можно создать диалоговое окно, войти в цикл ожидания пользовательского ввода и сохранить полученную строку в переменной. Столь высокий уровень языка идеально подходит для разработки интерактивных веб-страниц. С другой стороны, тот факт, что JavaScript не стандартизован и мутирует быстрее, чем мушка-дрозофила в рентгеновском луче, сильно усложняет написание программ, независимых от конкретной платформы. Надо, впрочем, надеяться, что рано или поздно этот язык дойдет до более или менее устойчивого состояния.
Читать дальшеИнтервал:
Закладка: