Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ВП.docx
Скачиваний:
13
Добавлен:
27.09.2019
Размер:
86.09 Кб
Скачать

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 - сохранение на компьютере клиента; • скрытые поля - сохранение внутри формы, посылаемой клиенту; • сохранение в файле какого-либо формата на сервере; • сохранение в параллельно работающей базе данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]