- •Структура приложений в сети Интернет. Привести схему и пояснить назначение ее основных составных частей
- •Дать характеристику протоколу http. Его соотношение с другими протоколами (Ethernet, tcp/ip, ftp, Telnet и др)
- •Формат данных в протоколе http
- •Http запрос. Виды запросов. Основные части запросу. Строка статуса запроса. Привести примеры
- •Поля строки статуса http запроса. Количество полей, их взаимное расположение, разделители.
- •Охарактеризовать методы в строке статуса http запроса. Методы
- •Метод get и его особенности. Области применения. Привести примеры. Формат url. Параметры запроса, привести примеры.
- •Метод post и его особенности. Области применения. Привести примеры. Формат url. Параметры запроса, привести примеры.
- •Охарактеризовать основные параметры, описывающие характеристики тела http запроса. Привести примеры.
- •Охарактеризовать основные параметры, описывающие характеристики http запроса. Привести примеры
- •Протокол cgi и его характеристики. Область применения. Методы передачи данных от веб сервера в cgi программу и из cgi программы веб серверу.
- •Написать php программу, которая выводит все данные полученные от веб сервера.
- •Написать php программу, которая подсчитывает количеству посещений страницы.
- •Методы получения параметров из html форм в php программе. Рассмотреть методы передачи get и post.
- •Написать php программу, которая записывает в файл ip адрес и время каждого посещения.
- •Методывзлома php сайтов. Sql иньекции.Php иньекции.
- •Язык xml, его характеристика. Сравнительная характеристика xml и html. Дать краткую характеристику сопутствующих технологий.
- •Требования к синтаксису языка xml. Привести пример правильно отформатированных документов и документов нарушающих правила форматирования.
- •Дать характеристику действительным xml документам. Привести примеры.
- •Охарактеризовать технологию xsl. Назначение и основные возможности. Привести примеры.
- •Охарактеризовать технологию xsd. Назначение и основные возможности. Привести примеры.
- •Охарактеризовать основные методы анализа xml документов. Их сравнительная характеристика и области применения.
- •Объектная модель документа (dom). Основные характеристики и назначение. Привести примеры.
- •Дать сравнительную характеристику технологиям java, которые используются для разработки клиентской и серверной частей веб приложений.
- •Контейнеры сервлетов и их назначение. Требования к контейнерам.
- •Java сервлеты. Их назначение. Способы создания. Виды сервлетов. Способы доступа к параметрам и возврата данным веб серверу.
- •Жизненный цикл Java сервлета.
- •Охарактеризовать технологию jsp. Ее сравнение с технологиями php и asp.
- •Взаимоотношение технологий Java сервлетов и jsp.
- •Структура веб приложения с использованием Java сервлетов и jsp.
- •Шаблон mvc. Его назначение и основные характеристики.
- •Охарактеризовать технологию jsf. Ее назначение и взаимоотношение с технологий Java сервлетов и jsp.
- •Основные компоненты jsf технологии. Facalets, Manadged Beans, рендереры, валидаторы, конвертеры и их взаомодействие.
- •Жизненный цикл jsf компонент. Привести схему.
- •Охарактеризовать основные слои веб приложения на java. (jpa, Entity bean, jdbc, dao, SessionBean, Facade)
Протокол cgi и его характеристики. Область применения. Методы передачи данных от веб сервера в cgi программу и из cgi программы веб серверу.
CGI (CommonGatewayInterface, общий интерфейс шлюза) -- протокол для запуска внешних по отношению к web-серверу приложений (CGI-скриптов), регулирует коммуникацию между HTTP-сервером и CGI-скриптами.
Данная спецификация определяет стандартный способ обмена данными между прикладной программой и HTTP-сервером. Спецификация была предложена для сервера NCSA и является основным средством расширения возможностей обработки запросов клиентов HTTP-сервером.
Область применения: формирование динамических веб-страниц. Прежде всего CGI используется при обработке HTML – форм. Также для создания счетчиков посещений, гостевых книг и чатовых систем.С помощью CGI можно создавать анимацию.
Типы запросов
Различают два типа запросов к CGI-скриптам: по методу GET и по методу POST. В свою очередь, запросы по методу GETподразделяются на запросы по типам кодирования: isindex и form-urlencoded, а запросы по методу POST —multipart/form-data и form-urlencoded.
В запросах по методу GET данные от клиента передаются скрипту в переменной окружения QUERY_STRING. В запросах по методу POST данные из формы передаются в потоке стандартного ввода скрипта. При передаче через поток стандартного ввода в переменной окружения CONTENT_LENGTH указывается число передаваемых символов.
Запрос типа ISINDEX — это запрос вида:
http://intuit.ru/somthing-cgi/cgi-script?word1+word2+word3
Главным здесь является список слов после символа " ?". Слова перечисляются через символ " + " и для кириллицы в шестнадцатеричные последовательности не кодируются. Последовательность слов после символа " ?" будет размещена в переменной окружения QUERY_STRING.
Запрос типа form-urlencoded — это запрос вида:
http://intuit.ru/somthing-cgi/cgi-script?field=word1&field2=word2
Данные формы записываются в виде пар " имя_поля-значение ", которые разделены символом " & ".
Приведенный пример — это обращение к скрипту по методу GET. Все символы после " ?" попадут в переменную окружения QUERY_STRING. При этом если в значениях полей появляется кириллица или специальные символы, то они заменяются шестнадцатиричным кодом символа, который следует за символом " % ".
При обращении к скрипту по методу POST данные после символа " ?" не будут размещаться в QUERY_STRING, а будут направлены в поток стандартного ввода скрипта. В этом случае количество символов в потоке стандартного ввода скрипта будет указано в переменной окружения CONTENT_LENGTH.
При запросе типа multipart/form-data применяется составное тело HTTP-сообщения, которое представляет собой данные, введенные в форме, и данные присоединенного внешнего файла. Это тело помещается в поток стандартного ввода скрипта. При этом к данным формы применяется кодирование как в form-urlencoded, а данные внешнего файла передаются как есть.
Написать php программу, которая выводит все данные полученные от веб сервера.
Client
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Client for CGI script</title>
</head>
<body>
<form method="POST" action="http://192.1.2.3/pm/pm.cgi"enctype="multipart/form-data">
<p><b>Введите сообщение:</b></p>
<p><textarea rows="10" cols="70" name="data"></textarea></p>
<p><input type="submit" name="sub" value="Отправить"></p>
</form>
</body>
</html>
Serverpm.cgi
#!/usr/local/bin/php
<?php
echo $_SERVER["QUERY_STRING"];
?>
