
- •1. Особенности программирования для Web. Различия в программировании на стороне клиента и сервера. Инструменты и технологии программирования.
- •2. Понятие Web-приложения. Типы, классификация, требования.
- •3. Понятие Web-сервера и Web-клинета. Протокол http. Структура запросов и ответов.
- •Структура http-запроса
- •Структура http-ответа
- •4. Cgi. Способы передачи данных. Запоминание состояния.
- •Способы передачи данных между cgi-программой и веб-сервером
- •Переменные окружения
- •5. Технологии ActiveX. Общая характеристика. Сферы использования.
- •Сферы применения
- •6. Технология Java. Общая характеристика. Сферы использования.
- •Сферы использования Java
- •7. Технология asp. Схема обработки запросов. Объекты Request, Response.
- •8. Субд MySql. Общая характеристика и особенности использования.
- •11. Язык разметки html. Структура документа. Элементы разметки для создания текстовых, графических и других объектов. Язык разметки xhtml – правила, версии.
- •Структура документа
- •Элементы разметки
- •Правила xhtml
- •Версии xhtml
- •12. Язык программирование JavaScript. Общая характеристика, методы использования, правила записи основных операторов.
- •Назначение JavaScript
- •Основные операторы
- •13. JQuery, общая характеристика, синтаксис операторов, правила написания селекторов и действий.
- •14. Объектная модель документа. Dynamic html. Примеры использования.
- •15. Язык программирования php. Синтаксис языка, декларации и предложения.
- •16. Язык программирования php. Виды и типы данных – скаляры, массивы и хеши.
- •4 Скалярных типа:
- •2 Комплексных (составных) типа:
- •2 Специальных типа:
- •17. Язык программирования php. Циклы, ветвления и управление ими.
- •18. Язык программирования php. Понятие регулярных выражений. Функции, использующие регулярные выражения.
- •19. Язык программирования php. Работа с текстовыми файлами.
- •20. Язык программирования php. Включение в программу внешних скриптов. Пользовательские подпрограммы. Обработка входных данных.
- •21. Язык программирования php. Доступ к базам данных.
- •22. Аутентификация пользователей средствами php.
- •23. Язык sql. Предложения манипулирования и выборки данных.
- •24. Безопасное программирование на php. Виды атак. Советы и рекомендации по защите программ.
- •2.Межсайтовый скриптинг
3. Понятие Web-сервера и Web-клинета. Протокол http. Структура запросов и ответов.
Веб-сервер — сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер, на котором это программное обеспечение работает.
Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.
Клиент — аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.
HTTP (HyperText Transfer Prоtocоl — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных. HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов.
Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальные URI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера).
Структура http-запроса
«Заголовок» = «Метод» «URL» «Версия протокола» «Пустая строка» «Тело запроса» = [Параметр:Значение]...[, Параметр:Значение]
Параметы: • connection — сохранять или не сохранять связь между запросами; • useragent — информация о браузере клиента; • referer — URL страницы, с которой была произведена отправка запроса.
Структура http-ответа
«Заголовок» = «Версия протокола» «Кодовое обозначение успешности выполнения запроса» «Расшифровка кода» «Пустая строка» «Тело ответа» = [Параметр:Значение]...[, Параметр:Значение]
Параметры: • content-type — тип передаваемого содержимого (text/html, image/jpeg, image/gif и др.); • content-length — длина содержимого (количество символов).
4. Cgi. Способы передачи данных. Запоминание состояния.
Command Gateway Interface — набор правил, при помощи которых программы на сервере могут передавать данные клиентам при помощи веб-сервера.
Клиент - Веб-сервер - CGI-приложение
Способы передачи данных между cgi-программой и веб-сервером
1. Использование переменных окружения; 2. Использование командной строки; 3. Использование стандартных устройств ввода; 4. Использование стандартных устройств вывода.
Переменные окружения
Веб-сервер всегда передает переменные окружения. Сервер, получая информацию в виде HTTP-запроса, формирует переменные окружения. Переменных окружения достаточно много. Некоторые из них: • USER_AGENT — информация о браузере; • CONTENT_LENGTH — количество символов в теле запроса; • CONTENT_TYPE — тип содержимого; • QUERY_STRING — параметры метода GET; • REMOTE_ADDR — IP-адрес клиента; • REMOTE_HOST — имя хоста; • REQUEST_METHOD — метод (GET/POST);
Командная строка
Используется гораздо реже, поскольку менее удобна. Использует переменную окружения QUERY_STRING.
Стандартные устройства ввода
Используется чаще всего при методе POST. В случае метода POST тип данных и их количество помещаются в переменные CONTENT_TYPE и CONTENT_LENGTH, и эти данные передаются сервером на стандартные устройства ввода CGI-программы.
Стандартные устройства вывода
Любые данные, которые программа посылает на устройства вывода читаются веб-сервером и пересылаются клиентом. При этом эти данные должны содержать структуру HTTP-ответа.
Запоминание состояния
Основной проблемой при написании интерактивных CGI-скриптов является проблема сохранения состояния. Дело в том, что в протокол HTTP рассматривает все поступающие на сервер запросы как независимые друг от друга. Соответственно, после обработки каждого вновь поступившего запроса CGI-скрипт полностью завершает свою работу, а для обработки следующего запроса скрипт начинает свою работу с нуля без всякой информации о предыстории.
Существует несколько методов сохранения состояния: • cookies - сохранение на компьютере клиента; • скрытые поля - сохранение внутри формы, посылаемой клиенту; • сохранение в файле какого-либо формата на сервере; • сохранение в параллельно работающей базе данных.