
- •Структура и принципы построения сети Интернет. Адресация в Интернет.
- •Понятие сетевого протокола. Основные Интернет-протоколы: tcp/ip, smtp, ftp, http, wap.
- •Протокол http: назначение и особенности. Схема «запрос-ответ» http. Структура http-запроса и http-ответа
- •Методы передачи данных get и post.
- •Рассмотрим небольшую форму, передающую имя пользователя:
- •Формирование ответа сервером
- •Html: назначение, синтаксис определения тегов, структура простейшего html-документа. Понятие xhtml и его особенности.
- •Базовые теги html: форматирование документа, создание ссылок, списков, таблиц, вставка изображений. Понятие слоя (блока). Основные свойства блоков и особенности их определения.
- •Назначение форм на html-странице. Основные теги создания форм и их атрибуты.
- •Понятие css. Способы включения стилей в html-документ. Понятие классов и псевдоклассов в css (привести примеры). Правила каскадирования (приоритета стилей).
- •Виды html-верстки и их особенности. Типовые макеты верстки.
- •JavaScript: назначение, cпособы включения кода JavaScript в состав html-документа, типизация данных, правила объявления локальных и глобальных переменных, объявление и использование функций.
- •Понятие dom (Document Object Model). Способы доступа к элементам html-документа с использованием JavaScript.
- •Функции организации временной задержки в JavaScript.Создание эффектов анимации с использованием JavaScript (привести пример).
- •Библиотека jQuery: назначение, подключение к html-странице, синтаксис команд jQuery, виды селекторов, обработка событий с использованием jQuery.
- •Php: назначение, особенности обработки php-скриптов. Включение кода php в состав Web-страницы. Получение данных формы php-сценарием (привести пример).
- •Php: типизация данных, объявление переменных и констант, определение функций, классификация переменных по области видимости.
- •If (условие) {
- •Виды массивов, поддерживаемых php. Инициализация массивов. Работа с датой и временем в php.
- •Include "путь/имя_файла";
- •Is_file(файл)
- •Is_writeable (файл)
- •Ifwrite(файловый манипулятор, переменная [,длина])
- •Is_readable (файл)
- •Для выполнения всех функций чтения из файла файловый манипулятор должен ссылаться на открытый файл, доступный для чтения. Положение указателя текущей позиции
- •Понятие сессии в php. Понятие идентификатора сессии и способы его передачи.
- •Использование баз данных MySql в Web-приложениях: создание базы данных, общая последовательность действий при работе с сервером MySql, основные функции php для работы с базой данных.
- •Xml: назначение, особенности синтаксиса, структура xml-документа.
- •Dtd: назначение, конструкции для определения элементов и их атрибутов.
- •Dtd: подключение dtd-определения к xml-документу, особенности определения типа элементов и атрибутов xml-документа.
- •Xsd: назначение, отличия от dtd, понятие пространства имен, использование целевого и исходного пространств имен.
- •Xsd: особенности определения элементов и их атрибутов, объявление простых и комплексных типов, подключение схемы xsd к xml-документу.
- •Xsl: назначение, структура xsl-документа, подключение к xml-документу.
- •Основные дескрипторы xsl: выборка данных xml-документа, фильтрация и сортировка данных. Особенности адресации к xml-данным.
- •Технология Ajax: назначение, сущность, этапы выполнения Ajax-запроса.
- •Технология Ajax: назначение объекта xmlHttpRequest, создание его экземпляра, отправка запроса на сервер и принятие ответа сервера.
- •Технология Ajax: разновидности запросов на сервер по типу запрашиваемых файлов и методу передачи данных, кэширование результата при get-запросах.
Методы передачи данных get и post.
Передача данных серверу и CGI-сценариям
Для работы сценарию нужно передать определенные параметры, он их обработает и возвратит ответ.
Алгоритм любой CGI-программы выглядит следующим образом:
Получить данные, переданные пользователем
Обработать данные
Вывести результат
Передача данных пользователя осуществляется с помощью форм.
Рассмотрим небольшую форму, передающую имя пользователя:
<form action=/cgi-bin/pr.cgi method=get>
<input type=”text” name=”user_name”>
<input type=”submit” name=”go” value=”Go!”>
</form>
Когда пользователь введет имя и нажмет кнопку «Go», данное имя будет передано сценарию pr.cgi в качестве параметра. Этот параметр будет называться user_name. Метод передачи данных задается параметром Method тега <form>. После того, как будет нажата кнопка «Go», в поле Адрес браузера будет показано примерно следующее:
http://localhost/cgi-bin/pr.cgi?user_name=X&go=Go
После того, как параметры переданы сценарию, задача сценария состоит в том, чтобы выполнить разбор строки, то есть выделить пары Имя_параметра=значение.
Метод GET
Когда мы вводим в адресной строке браузера строку string, браузер последовательно выполняет следующие действия:
Выделяет из нее имя сервера и порт (если он указан)
Устанавливает соединение с сервером и посылает ему запрос:
GET string HTTP/1.0\n
……
\n\n
В запросе \n означает перевод на новую строку, а \n\n – маркер окончания запроса. Если сервер не получит маркера окончания, то запрос обрабатывать не будет.
После строки, начинающейся со слова GET (так называемой GET-строки) в запросе могут содержаться другие строки. Эти строки называются заголовками, как и сама GET-строка. Заголовков может быть довольно много. Их формирует браузер.
Если браузер вызывает сценарий, то, как правило, он передает ему какие-нибудь параметры:
GET сценарий?параметр1=значение&параметр2=значение HTTP/1.0\n
После имени запрашиваемого документа следует знак вопроса, а за ним строка параметров.
Формирование ответа сервером
Для обработки данных, переданных серверу необходимо получить их значение при помощи переменных окружения. Например, переменная окружения QUERY_STRING содержит строку передаваемых параметров. Для обращения к переменным окружения в С, например используется функция getenv(). После считывания значения переменной окружения QUERY_STRING нужно запрограммировать «разбор» пар параметр=значение.
Метод POST
Если используется метод POST, переданные сценарию параметры не отображаются в адресной строке браузера. И сама передача данных происходит иначе:
POST сценарий HTTP/1.0\n
Content-length:5\n
\n
Hello
Как видите, сам блок пересылаемых данных находится уже после маркера окончания запроса. При такой передаче данных сервер никак их не интерпретирует, а сразу передает сценарию. Это означает, что сценарий будет запущен сразу же после окончания заголовков и сервер просто передает ему POST-данные. Затем сценарий должен самостоятельно прочитать определенное число байтов, указанное в заголовке Content-length.
Метод POST обычно используется для передачи больших объемов данных, например, при загрузке файлов на сервер или же когда нужно скрыть значения передаваемых параметров от глаз пользователя. Дело в том, что передаваемые параметры и их значения не отображаются в окне браузера, как это происходит с методом GET.