Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Технологии, исполняющиеся на стороне клиента и сервера.

Web-технологии

1. Понятие о Web-технологиях передачи и обработки информации.

2. Историческая справка развития Web-технологий.

3. Обзор типов Web-приложений.

4. Особенности разработки Web-приложений.

5. Современные профессиональные требования к специалистам по Web-технологиям.

6. Клиент-серверная архитектура в Интернет.

7. Клиент-серверное взаимодействие компьютеров и приложений.

8. Компьютерные сети. Иерархия сетей в Интернет.

9. Web-технологии в сетях различного уровня

10. . Понятия ISP, POP, NAP, «последняя миля» в Интернет.

11. Передача информации.

12. Стек протоколовTCP/IP.

13. Процесс IP- маршрутизации.

14. Система доменных имен. DNS-сервер.

15. Браузеры и серверы.

16. Проки-сервер. Формат URL-адреса.

17. Протоколы прикладного уровня модели OSI.

18. Гипертекст и Web-страницы.

19. HTTP сервер и клиент.

20. Электронная почта, протоколы SMTP, POP3, почтовый сервер и клиент.

21. Назначение FTP протокола, формат FTP-ресурса.

22. Назначение Telnet и NNTP.

23. Чат, службы мгновенной почты, сети IRC, IP-телефония, видеоконференции, мобильный Интернет на основе WAP-протокола.

24. Статические и динамические HTML-страницы.

25. Язык гиперстекстовый разметки HTML.

26. Особенности DHTML, XHTML, XML.

27. Технология использования в HTML CSS.

28. Технология, исполняющиеся на стороне клиента и сервера.

29. Механизм работы Web-сервера.

30. Переменные окружения сервера.

31. Технология CGI, заголовки ответов и запросов по CGI.

32. Серверные сценарии PERL, PHP, ASP, SSI.

33. Технология Java, Java-script, VB-script.

34. Графика в Web-приложениях.

35. Технология Flash.

36. Технология создания приложений на основе многоуревневой архитектуры клиент
Web-сервер – сервер баз данных.

37. Защита информации в компьютерных сетях на основе Web-технологий.

38. Сферы применения и перспективы развития Web-технологий.

39. Современное состояние Web-технологий в различных областях человеческой деятельности. Бизнес-приложения.

40. Администрирование Web-сервера.

41. Интерактивное взаимодействие (CGI, серверные включения).

42. Протокол HTTP, как создания интернет-приложений.

43. Заголовки запросов и ответов HTTP. Интерфейс CGI, заголовки CGI –программ.

44. Создание пользовательского интерфейса на основе WUI .

45. Технология создания приложений, исполняющихся на стороне сервера. (CGI –PERL, PHP).

46. Технология создания приложений с применением серверов баз данных.

47. Интерактивные компоненты на HTML-странице.

48. Исследование переменных среды окружения Web-сервера

49. Запись посылаемых данных на Web-сервере.

50. Выполнение прикладных задач на Web-сервере

51. Контроль ввода данных.

52. Ограничение доступа к файлам на Web-сервере.

53. Запись посылаемых данных на Web-сервере в отдельные файлы

54. Запись информации на компьютере клиента (файлы «Cookie».

 

 


 

Технологии, исполняющиеся на стороне клиента и сервера.

Исполняемые коды программ для Web. Программы, исполняющиеся на стороне сервера
и программы, исполняющиеся на стороне клиента.
Никакой HTTP-обмен невозможен без клиента и сервера
Программы, выполняющиеся на клиент-машине
Одним из типов программ, предназначенных для выполнения на клиент-машине,
являются сценарии, например, JavaScript (VBScript). Исходный текст сценария представляет собой
часть веб-страницы, поэтому сценарий JavaScript передается клиенту вместе с документом, в
состав которого он входит. Обрабатывая HTML-документ, браузер обнаруживает исходный текст
сценария и запускает его на выполнение.
Ко всем программам, которые передаются с сервера на клиент-машины и запускаются на
выполнение, предъявляется одно общее требование: эти программы должны быть лишены
возможности обращаться к ресурсам компьютера, на котором они выполняются. Такое
требование вполне обосновано. Ведь передача по сети и запуск Java-апплетов и JavaScript-
сценариев происходит автоматически без участия пользователя, поэтому работа этих
программ должна быть абсолютно безопасной для компьютера. Другими словами, языки,
предназначенные для создания программ, выполняющихся на клиент-машине, должны быть
абсолютно непригодны для написания вирусов и подобных программ.
Программы, выполняющиеся на сервере
Код программы, работающей на сервере, не передается клиенту. При получении от
клиента специального запроса, предполагающего выполнение такой программы, сервер
запускает ее и передает параметры, входящие в состав запроса. Средства для генерации
подобного запроса обычно входят в состав HTML-документа. Результаты своей работы программа оформляет в виде HTML-документа и передает их веб-
серверу, а последний, в свою очередь, дополняет полученные данные HTTP-заголовком и
передает их клиенту.

 

Механизм работы Web-сервера.

Прежде всего, стоит разобраться с тем, где физически хранятся сайты и как они делаются доступными удаленному пользователю. Для хранения сайтов и отдельных HTML-документов необходим, естественно, компьютер, на котором будет установлена особая программа, называемая Web-сервером. Эта программа и принимает запросы, приходящие от удаленных пользователей, формирует ответы и отсылает их, пользуясь протоколом TCP/IP (Transmission Control Protocol/Internet Protocol). Этот протокол является некоторым сводом правил, которые определяют порядок связи между отдельными компьютерами и передачи данных между ними. Этот протокол состоит из двух частей. TCP занимается обменом данными.

Для этого передаваемые данные разбиваются на отдельные части — пакеты, которые помимо самих передаваемых данных содержат сведения, позволяющие осуществлять их передачу и получать подтверждение об их прибытии. А за передачу по сети разбитых подобным образом данных отвечает уже протокол IP. Он занимается маршрутизацией, или, как ее еще называют — роутингом. Основываясь на этом протоколе работает Web-сервер. Однако для пересылки HTML-документов используется протокол HTTP. Помимо отсылки HTML-документов, он обычно позволяет создавать и администрировать FTP-серверы. То есть, в дополнение ко всему, хороший Web-сервер должен еще поддерживать протокол обмена файлами FTP (File Transmission Protocol). основной проблемой Web-страниц является их предопределенная статичность. Для ее решения были разработаны стандарты программ, которые функционируют при поддержке сервера и позволяют создавать интерактивные странички. Одним из таких протоколов является CGI (Common Gateway Interface). В отличие от различного рода скриптов, CGI-приложения выполняются не на компьютере пользователя, а на самом сервере. CGI-приложения являются одной из разновидностей активных элементов. У Web-cepвepa обычно есть некая структура каталогов, которая упорядочена и приспособлена для работы сервера. В одной из папок находятся HTML-документы, в другой — хранятся файлы для архива FTP и отдельная папка предназначена для исполняемых модулей. Если на одном сервере располагается несколько сайтов, то для каждого сайта выделяется отдельный каталог и необходимая структура папок формируется в каждом таком каталоге.

Обычно Web-cepвеp позволяет присваивать папкам любую комбинацию из двух признаков: доступ на чтение и доступ на выполнение. Доступ на чтение присваивается папкам, в которых расположены документы, а доступ на исполнение — папкам с исполняемыми модулями.

Переменные окружения сервера.

Переменные окружения — очень важный механизм взаимодействия веб-сервера с предобработчиками запросов. При получении HTTP-запроса веб-сервер формирует переменные окружения, занося в них различную информацию: IP-адрес клиента, запрашиваемый документ, параметры запроса и т.п. При передаче управления какому-нибудь предобработчику последний имеет доступ к переменным окружения веб-сервера, следовательно, ему доступна выше перечисленная информация. Давайте рассмотрим основные переменные окружения веб-сервера Apache:

SERVER_NAME — содержит доменное имя сервера. Apache устанавливает конкретное имя или виртуальный хост, по которому обратился клиент;
SERVER_ADDR — IP-адрес сервера. Устанавливается адрес, по которому выполнил соединение клиент;
SERVER_PORT — порт сервера. Устанавливается порт, по которому выполнил соединение клиент (тот самый порт, который по умолчанию 80 для веб-серверов);
REMOTE_ADDR — IP-адрес клиента;
DOCUMENT_ROOT — корневой каталог веб-сервера (либо текущего виртуального хоста);
REQUEST_METHOD — тип HTTP-запроса;
REQUEST_URI — путь к запрашиваемому документу (то, что передается вторым параметром в первой строке HTTP-запроса);
QUERY_STRING — строка параметров запроса (об этом поподробнее поговорим в следующей статье);
HTTP_HOST — содержит значение заголовка Host HTTP-запроса. В большинстве случаев совпадает с SERVER_NAME;
HTTP_USER_AGENT — содержит значение заголовка User-Agent HTTP-запроса. В этом заголовке клиент передает информацию о себе: версию операционной системы, браузера, и т.д.;
HTTP_REFERER — содержит значение заголовка Referer HTTP-запроса (об этом скоро будет отдельная статья).

К переменным окружения Apache возможен доступ внутри PHP-скриптов. Все они находятся в глобальном PHP-массиве $_SERVER.

Обратиться к конкретной переменной окружения в PHP-скрипте можно следующим образом:

$_SERVER['имя_переменной_окружения']

то есть, в качестве индекса массива $_SERVER использовать имя переменной окружения, например:

echo "Ваш IP-адрес: " . $_SERVER["REMOTE_ADDR"];

 

Что умеет javascript?

  • Изменять страницу, писать на ней текст, добавлять и удалять теги, менять стили элементов.
  • Реагировать на события: скрипт может ждать, когда что-нибудь случится (клик мыши, окончание загрузки страницы) и реагировать на это выполнением функции.
  • Выполнять запросы к серверу и загружать данные без перезагрузки страницы. Это иногда называют "AJAX".
  • Устанавливать и считывать cookie, валидировать данные, выводить сообщения и многое другое.

прелесть и соль Javascript заключаются всего в нескольких пунктах.

· Полная интеграция с браузером

· Простые вещи делаются просто

· Поддерживается почти везде

Например, такие технологии как ActiveX, VBScript, XUL - поддерживаются не в каждом браузере (не кросс-браузерны). Такие технологии как Flash, Silverlight, Java - не полностью интегрированы с браузером, работают в своем окружении.

Поэтому Javascript - уникальная технология, и таковой останется. Сейчас она развивается, создается язык Javascript 2 и новый интерпретатор.

VBScript (сокращение от Visual Basic Scripting Edition) — скриптовый язык программирования, разработанный Microsoft и основанный на Visual Basic. Используется для создания скриптов в ОС семейства Windows.

Разработка VBScript началась в 1996 году в рамках технологии Microsoft Windows Script, изначально предназначенной для веб-разработчиков. Он должен был заменить устаревший язык, интерпретируемый приложением command.com. За следующие два года язык развился достаточно, чтобы обратить на себя внимание системных администраторов, нуждающихся в более мощном инструменте автоматизации, чем языке batch-файлов. Начиная с Windows 98, VBScript входил в стандартную поставку всех экземпляров Windows.

Развитие языка и включение в него новых возможностей продолжалось до появления фреймворка .NET; на этом этапе он был встроен в ASP.NET, и выпуск новых версий языка прекратился. Последней версией стала VBScript 5.8. Поддержкой языка занимается Sustaining Engineering Team.

 

vbscript - попытка Microsoft сделать подобие javascript на основе Visual Basic. Не развивается, сильно уступает по возможностям, и, как следствие - практически не используется в современном веб-программировании.

Графика в Web-приложениях.

Графика. При разработке Web-страницы нужно очень внимательно выбирать оптимальное соотношение графических и текстовых материалов. Одна хорошая картинка может заменить тысячу строк текста, но и загружаться по сети она будет в тысячу раз дольше. Поэтому графикой нужно пользоваться осторожно. Можно исходить из того, что графики на странице должно быть чуть меньше, чем хочется Web-мастеру. Пользователям может просто не хватить терпения, и они закроют документ еще до того, как он полностью загрузится. Задержка отклика системы вызывает у пользователя раздражение. Дизайн Web-узлов — это точное размещение компонентов HTML-страниц относительно друг друга в рабочей области окна браузера.

 

Недостатки такого определения Web-дизайна очевидны. В нем не учтены ни цвет, ни форма, ни другие свойства компонентов HTML-страниц. Главное в этом определении — показать ограниченность возможностей HTML-разметки. Позиционирование компонентов на странице является одним из самых слабых мест в HTML.

 

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

 

Технология Flash.

Adobe Flash (ранее Macromedia Flash), или просто Flash (/flæʃ/), по-русски часто пишут флеш или флэш) — мультимедийная платформа компании Adobe для создания веб-приложений или мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей.

Платформа включает в себя ряд средств разработки, прежде всего en:Adobe Flash Professional и Adobe Flash Builder (ранее Adobe Flex Builder); а также программу для воспроизведения flash-контента — Adobe Flash Player, хотя flash-контент умеют воспроизводить и многие плееры сторонних производителей. Например, SWF-файлы можно просматривать с помощью свободных плееров Gnash или swfdec, а FLV-файлы воспроизводятся через мультимедийный проигрыватель Quicktime, и различные проигрыватели в UNIX-подобных системах при наличии соответствующих плагинов.

Adobe Flash позволяет работать с векторной, растровой и с трёхмерной графикой используя при этом GPU, а также поддерживает двунаправленную потоковую трансляцию аудио и видео. Для КПК и других мобильных устройств выпущена специальная «облегчённая» версия платформы Flash Lite, функциональность которой ограничена в расчёте на возможности мобильных устройств и их операционных систем.

Стандартным расширением для скомпилированных flash-файлов (анимации, игр и интерактивных приложений) является .SWF[1] (Shockwave Flash или Small Web Format[источник не указан 54 дня])

 

Компания Adobe официально подтвердила прекращение разработки дополнения Flash Player для браузеров мобильных устройств. Последней версией Flash Player для Android и BlackBerry PlayBook станет 11.1. Затем будут выпускаться лишь критические обновления. Компания в мобильной сфере сфокусируется на продвижении Flash в рамках технологии AIR для отдельных приложений на этих платформах, а в браузерах будет делать ставку на HTML5.

Этот шаг стал большой неожиданностью, учитывая то, как активно Adobe работала над портированием Flash Player на мобильные устройства и как она продвигала эту платформу, внедряя новые технологии и отмечая очевидные преимущества, позволяющие разработчикам создавать веб-базированное ПО, которое неизменно работает в совершенно разных вычислительных средах.

Flash критикуется в целом ряде аспектов. С практической точки зрения критика сфокусирована на том, что технология слишком сильно нагружает мобильные процессоры, уменьшая время автономной работы, а также является причиной многих уязвимостей, которые иногда очень долго не исправляются. Критика другого рода говорит о том, что Flash — закрытая технология, контролируемая Adobe, а потому не подходит для Сети, полагающейся преимущественно на открытые стандарты.

Администрирование Web-сервера.

Веб-серверы – это компьютеры, на которых установлено специальное программное обеспечение, позволяющее принимать запросы от клиентских компьютеров и возвращать ответы на эти запросы. Веб-серверы обеспечивают возможность для совместной работы с данными в Интернете, интрасети или экстрасети.

Веб-серверы IIS 7позволяют:

  • Предоставлять сведения пользователям Интернета.
  • Загружать с сервера и отправлять на сервер файлы с использованием протокола FTP или WebDAV.
  • Размещать веб-службы, содержащие бизнес-логику для трехуровневых приложений.
  • Распространять через Интернет приложения, избавив пользователей от необходимости работать с физическими носителями – дискетами и компакт-дисками.

Веб-серверами могут эффективно пользоваться клиенты самого разного уровня для решения самых разнообразных задач. Например:

  • Владельцы небольших предприятий могут рекламировать свои услуги с помощью простых веб-сайтов.
  • Владельцы более крупных предприятий смогут заниматься реализацией своих товаров и услуг при помощи системы для размещения заказов в Интернете, которая может состоять из нескольких приложений, размещенных на веб-сайте.
  • Крупные предприятия могут разрабатывать для своих сотрудников бизнес-приложения для работы в корпоративной сети.
  • Организации, работающие в сфере услуг размещения, могут предоставлять своим заказчикам место на сервере и службы для размещения приложений и информационного содержимого в Интернете.
  • Крупные организации могут передавать своим деловым партнерам важную информацию по экстрасети и обеспечивать им возможность работать с приложениями в экстрасетях.

 

Контроль ввода данных.

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

· Проверить, что поле, в которое заносится электронный адрес непустое (поскольку пользователь может просто забыть ввести адрес, и, если этот случай необработан, возникнет ошибочная ситуация);

· Проверить соответствие введенного адреса с помощью регулярного выражения.

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

· проверка того, что пользователь ввел данные

· проверка допустимости вводимых пользователем данных (как правило, осуществляется при помощи регулярных выражений)

· обработка текста, введенного пользователем функцией htmlspecialchars для удаления HTML-тегов

· обработка текста, введенного пользователем функцией stripslashes для удаления обратных слешей

Проверка допустимости вводимых данных

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

Будем исходить из того, что адрес должен иметь вид something@server.com. Как видим, у адреса две составляющие - имя пользователя и имя домена, которые разделены знаком @. В имени пользователя могут присутствовать буквы нижнего и верхнего регистров, цифры, знаки подчеркивания и минуса, точки. Для проверки разделителя между именем пользователя и именем домена в выражение требуется добавить +@. Таким образом, регулярное выражение, проверяющее имя пользователя и наличие разделителя имеет следующий вид:

"/[0-9a-z_]+@[0-9a-z_^\.]"

Для проверки доменного имени добавляем такое выражение:

"\.[a-z]{2,3}/i"

Объединяя эти шаги, получаем следующее регулярное выражение для проверки адресов электронной почты:

"/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i"

Точно таким же образом вы можете проверить и остальные заполняемые пользователем поля.

Удаление HTML - тегов и обратных слешей

Как уже говорилось, вводимый пользователем текст необходимо обработать функциями удаления HTML-тегов (для исключения возможности написания скриптов на JavaScript и Visual Basic) и обратных слешей (для исключения возможности написания скриптов на Perl). К примеру, если переменная $name содержит текст с именем пользователя, то обработка этого текста выглядит так:

<? $name=substr($_POST["name"],0,32); $name=htmlspecialchars(stripslashes($name));?>

·

Web-технологии

1. Понятие о Web-технологиях передачи и обработки информации.

2. Историческая справка развития Web-технологий.

3. Обзор типов Web-приложений.

4. Особенности разработки Web-приложений.

5. Современные профессиональные требования к специалистам по Web-технологиям.

6. Клиент-серверная архитектура в Интернет.

7. Клиент-серверное взаимодействие компьютеров и приложений.

8. Компьютерные сети. Иерархия сетей в Интернет.

9. Web-технологии в сетях различного уровня

10. . Понятия ISP, POP, NAP, «последняя миля» в Интернет.

11. Передача информации.

12. Стек протоколовTCP/IP.

13. Процесс IP- маршрутизации.

14. Система доменных имен. DNS-сервер.

15. Браузеры и серверы.

16. Проки-сервер. Формат URL-адреса.

17. Протоколы прикладного уровня модели OSI.

18. Гипертекст и Web-страницы.

19. HTTP сервер и клиент.

20. Электронная почта, протоколы SMTP, POP3, почтовый сервер и клиент.

21. Назначение FTP протокола, формат FTP-ресурса.

22. Назначение Telnet и NNTP.

23. Чат, службы мгновенной почты, сети IRC, IP-телефония, видеоконференции, мобильный Интернет на основе WAP-протокола.

24. Статические и динамические HTML-страницы.

25. Язык гиперстекстовый разметки HTML.

26. Особенности DHTML, XHTML, XML.

27. Технология использования в HTML CSS.

28. Технология, исполняющиеся на стороне клиента и сервера.

29. Механизм работы Web-сервера.

30. Переменные окружения сервера.

31. Технология CGI, заголовки ответов и запросов по CGI.

32. Серверные сценарии PERL, PHP, ASP, SSI.

33. Технология Java, Java-script, VB-script.

34. Графика в Web-приложениях.

35. Технология Flash.

36. Технология создания приложений на основе многоуревневой архитектуры клиент
Web-сервер – сервер баз данных.

37. Защита информации в компьютерных сетях на основе Web-технологий.

38. Сферы применения и перспективы развития Web-технологий.

39. Современное состояние Web-технологий в различных областях человеческой деятельности. Бизнес-приложения.

40. Администрирование Web-сервера.

41. Интерактивное взаимодействие (CGI, серверные включения).

42. Протокол HTTP, как создания интернет-приложений.

43. Заголовки запросов и ответов HTTP. Интерфейс CGI, заголовки CGI –программ.

44. Создание пользовательского интерфейса на основе WUI .

45. Технология создания приложений, исполняющихся на стороне сервера. (CGI –PERL, PHP).

46. Технология создания приложений с применением серверов баз данных.

47. Интерактивные компоненты на HTML-странице.

48. Исследование переменных среды окружения Web-сервера

49. Запись посылаемых данных на Web-сервере.

50. Выполнение прикладных задач на Web-сервере

51. Контроль ввода данных.

52. Ограничение доступа к файлам на Web-сервере.

53. Запись посылаемых данных на Web-сервере в отдельные файлы

54. Запись информации на компьютере клиента (файлы «Cookie».

 

 


 

Технологии, исполняющиеся на стороне клиента и сервера.

Исполняемые коды программ для Web. Программы, исполняющиеся на стороне сервера
и программы, исполняющиеся на стороне клиента.
Никакой HTTP-обмен невозможен без клиента и сервера
Программы, выполняющиеся на клиент-машине
Одним из типов программ, предназначенных для выполнения на клиент-машине,
являются сценарии, например, JavaScript (VBScript). Исходный текст сценария представляет собой
часть веб-страницы, поэтому сценарий JavaScript передается клиенту вместе с документом, в
состав которого он входит. Обрабатывая HTML-документ, браузер обнаруживает исходный текст
сценария и запускает его на выполнение.
Ко всем программам, которые передаются с сервера на клиент-машины и запускаются на
выполнение, предъявляется одно общее требование: эти программы должны быть лишены
возможности обращаться к ресурсам компьютера, на котором они выполняются. Такое
требование вполне обосновано. Ведь передача по сети и запуск Java-апплетов и JavaScript-
сценариев происходит автоматически без участия пользователя, поэтому работа этих
программ должна быть абсолютно безопасной для компьютера. Другими словами, языки,
предназначенные для создания программ, выполняющихся на клиент-машине, должны быть
абсолютно непригодны для написания вирусов и подобных программ.
Программы, выполняющиеся на сервере
Код программы, работающей на сервере, не передается клиенту. При получении от
клиента специального запроса, предполагающего выполнение такой программы, сервер
запускает ее и передает параметры, входящие в состав запроса. Средства для генерации
подобного запроса обычно входят в состав HTML-документа. Результаты своей работы программа оформляет в виде HTML-документа и передает их веб-
серверу, а последний, в свою очередь, дополняет полученные данные HTTP-заголовком и
передает их клиенту.

 

Механизм работы Web-сервера.

Прежде всего, стоит разобраться с тем, где физически хранятся сайты и как они делаются доступными удаленному пользователю. Для хранения сайтов и отдельных HTML-документов необходим, естественно, компьютер, на котором будет установлена особая программа, называемая Web-сервером. Эта программа и принимает запросы, приходящие от удаленных пользователей, формирует ответы и отсылает их, пользуясь протоколом TCP/IP (Transmission Control Protocol/Internet Protocol). Этот протокол является некоторым сводом правил, которые определяют порядок связи между отдельными компьютерами и передачи данных между ними. Этот протокол состоит из двух частей. TCP занимается обменом данными.

Для этого передаваемые данные разбиваются на отдельные части — пакеты, которые помимо самих передаваемых данных содержат сведения, позволяющие осуществлять их передачу и получать подтверждение об их прибытии. А за передачу по сети разбитых подобным образом данных отвечает уже протокол IP. Он занимается маршрутизацией, или, как ее еще называют — роутингом. Основываясь на этом протоколе работает Web-сервер. Однако для пересылки HTML-документов используется протокол HTTP. Помимо отсылки HTML-документов, он обычно позволяет создавать и администрировать FTP-серверы. То есть, в дополнение ко всему, хороший Web-сервер должен еще поддерживать протокол обмена файлами FTP (File Transmission Protocol). основной проблемой Web-страниц является их предопределенная статичность. Для ее решения были разработаны стандарты программ, которые функционируют при поддержке сервера и позволяют создавать интерактивные странички. Одним из таких протоколов является CGI (Common Gateway Interface). В отличие от различного рода скриптов, CGI-приложения выполняются не на компьютере пользователя, а на самом сервере. CGI-приложения являются одной из разновидностей активных элементов. У Web-cepвepa обычно есть некая структура каталогов, которая упорядочена и приспособлена для работы сервера. В одной из папок находятся HTML-документы, в другой — хранятся файлы для архива FTP и отдельная папка предназначена для исполняемых модулей. Если на одном сервере располагается несколько сайтов, то для каждого сайта выделяется отдельный каталог и необходимая структура папок формируется в каждом таком каталоге.

Обычно Web-cepвеp позволяет присваивать папкам любую комбинацию из двух признаков: доступ на чтение и доступ на выполнение. Доступ на чтение присваивается папкам, в которых расположены документы, а доступ на исполнение — папкам с исполняемыми модулями.

Переменные окружения сервера.

Переменные окружения — очень важный механизм взаимодействия веб-сервера с предобработчиками запросов. При получении HTTP-запроса веб-сервер формирует переменные окружения, занося в них различную информацию: IP-адрес клиента, запрашиваемый документ, параметры запроса и т.п. При передаче управления какому-нибудь предобработчику последний имеет доступ к переменным окружения веб-сервера, следовательно, ему доступна выше перечисленная информация. Давайте рассмотрим основные переменные окружения веб-сервера Apache:

SERVER_NAME — содержит доменное имя сервера. Apache устанавливает конкретное имя или виртуальный хост, по которому обратился клиент;
SERVER_ADDR — IP-адрес сервера. Устанавливается адрес, по которому выполнил соединение клиент;
SERVER_PORT — порт сервера. Устанавливается порт, по которому выполнил соединение клиент (тот самый порт, который по умолчанию 80 для веб-серверов);
REMOTE_ADDR — IP-адрес клиента;
DOCUMENT_ROOT — корневой каталог веб-сервера (либо текущего виртуального хоста);
REQUEST_METHOD — тип HTTP-запроса;
REQUEST_URI — путь к запрашиваемому документу (то, что передается вторым параметром в первой строке HTTP-запроса);
QUERY_STRING — строка параметров запроса (об этом поподробнее поговорим в следующей статье);
HTTP_HOST — содержит значение заголовка Host HTTP-запроса. В большинстве случаев совпадает с SERVER_NAME;
HTTP_USER_AGENT — содержит значение заголовка User-Agent HTTP-запроса. В этом заголовке клиент передает информацию о себе: версию операционной системы, браузера, и т.д.;
HTTP_REFERER — содержит значение заголовка Referer HTTP-запроса (об этом скоро будет отдельная статья).

К переменным окружения Apache возможен доступ внутри PHP-скриптов. Все они находятся в глобальном PHP-массиве $_SERVER.

Обратиться к конкретной переменной окружения в PHP-скрипте можно следующим образом:

$_SERVER['имя_переменной_окружения']

то есть, в качестве индекса массива $_SERVER использовать имя переменной окружения, например:

echo "Ваш IP-адрес: " . $_SERVER["REMOTE_ADDR"];

 

Последнее изменение этой страницы: 2016-06-08

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...