Создание интерактивных Web-страниц и WEB-приложений. Принципы программирования
Интерактивная веб-страница ‑ веб-страница, включающая в себя элементы, с помощью которых происходит обмен данными между пользователем и сервером.
Веб-приложение -вспомогательные программные средства, предназначенные для автоматизированного выполнения каких-либо действий на Web-серверах.
Базовые технологии и методы:
Сценарии. ‑ скрипты, встраиваемые в web-страницу, и при ее запросе клиент получает эти сценарии вместе со страницей. Сценарии ‑ текстом программы на высокоуровневом языке программирования. Браузер, получив Web-страницу, анализирует код, прикрепленный к ней, и выполняет его самостоятельно в режиме интерпретатора. К подобным скриптовым языкам, выполняющимся на стороне пользователя, относятся VBScript и JavaScript.
CGI-приложения‑ исполняемые файлы, которые получают информацию от Web-страниц по интерфейсу CGI и отправляют ответ, используя обычный протокол HTTP.
Принцип работы:
· Браузер посылает серверу HTTP запрос на получение документа с сервера.
· Сервер, анализируя запрос, понимает что следует делать и либо возвращает уже готовый статический документы (HTML, картинку или апплет) или запускает CGI приложение, передавая ему параметры во входном потоке и в переменных окружения (environment).
· CGI приложение, на основе переданных данных формирует документ и записывает его в выходной поток.
· Сервер передает полученный документ клиенту.
ISAPI-приложения ‑ приложения, расширяющие функциональность Web-сервера за счет применения API(Интерфейс программирования приложений). Они представляют собой dll-библиотеки Действует одна копия ISAPI, но для каждого обращения создается свой процесс, чье адресное пространство находится в рамках общего ISAPI-расширения. По завершении обработки запроса адресное пространство возвращается в пул. Время экономиться т.к. не надо загружать новое приложение и выделять адрес. Возрастает опасность краха Web-сервера, так как при аварийной ситуации, возникшей у ISAPI-расширения, оно не скончается мирно, как обычное CGI-приложение, а утянет за собой в виртуальное небытие весь Web-сервер.
Технология PHP (Personal HomePage) В HTML-код Web-страницы вставляются директивы на языке PHP или ссылки на скрипты, написанные на этом же языке. Когда Web-сервер по запросу пользователя передаст ему подобную Web-страницу, PHP перехватит ее, выполнит внедренные инструкции, на их основе сформирует чистый HTML-код и в таком виде отправит конечному получателю.
Технология ASP (Active Server Pages), действующая приблизительно таким же способом, как и PHP. ASP-блок просто "вшит" в IIS (Internet Information Server) от Microsoft. Таким образом, как только вы устанавливаете на своей хостинговой машине IIS, вы автоматически получаете возможность пользоваться технологией ASP. А тот факт, что скриптовый язык ASP фактически является калькой с VB, только добавляет удобства в работе.
Клиентские языки‑ обрабатываются на стороне пользователя, программы на клиентском языке обрабатывает браузер. Недостаток — обработка скрипта зависит от браузера, и пользователь может запретить выполнение скриптов. Преимущество обработка скриптов на таком языке может выполняться без отправки документа на сервер. Программа сразу проверит правильное заполнение формы перед отправкой, и, если необходимо, выведет ошибку. Отсюда же вытекает и то ограничение, что с помощью клиентского языка программирования ничто не может быть записано на сервер.Пример JavaScript.
Серверные языки после запросастраница обрабатывается на сервере, выполняются все программы, связанные со страницей, потом возвращается к посетителю в виде простого HTML-документа. Работа программ зависима от сервера, на котором расположен сайт, и от того, какая версия того или иного языка поддерживается.
Важной стороной работы серверных языков является Система управления базами данных, или СУБД. Это, по сути, тоже сервер, на котором в определенном пользователем порядке хранится разная необходимая информация, которая может быть вызвана в любой момент. Сервер не хранит историю действий и запросы пользователя поэтому используются ‑cookies. Пользователю при первом обращении выдается специальный идентификатор, после этого браузер пользователя предъявляет его при каждом обращении, и сервер может распознать, что это тот же самый пользователь.
ASP, используя cookies, создает объект Session (сессия). Сессия стартует, когда новый пользователь обращается к любому asp-файлу приложения. Сессия заканчивается при отсутствии активности пользователя в течение 20 минут, либо по явной команде. Специальный объект Session хранит состояние сессии. Туда можно записывать переменные, которые доступны из любой страницы в этой сессии.
HTTP (Hypertext transfer protocol) - это протокол с ненадежной доставкой данных, основанный на протоколе сетевого уровня IP.
В обмене информацией участвуют HTTP клиент и HTTP сервер. Клиент шлет запросы на получение документов.
GETметод предназначен для получения требуемой информации и передачи данных в адресной строке. Пары «имя=значение» присоединяются в этом случае к адресу после вопросительного знака и разделяются между собой амперсандом (символ &). Адрес со всеми параметрами можно использовать неоднократно, сохранив его, например, в закладки браузера, а также менять значения параметров прямо в адресной строке. <form name="f1" method="get" action="enter_data.php">
POSTметод посылает на сервер данные в запросе браузера. Это позволяет отправлять большее количество данных, чем доступно методу get, поскольку у него установлено ограничение в 4 Кб. Большие объемы данных используются в форумах, почтовых службах, заполнении базы данных, при пересылке файлов и др.