Характеристика ИС. Спецификация CGI

advertisement
• Его значением является URLадрес CGI-программы, которая
будет обрабатывать
информацию, извлеченную из
данной формы
• Определяет метод пересылки
данных, содержащихся в форме, от
браузера к веб-серверу. Обычно
принимает одно из двух значений:
GET (по умолчанию) и POST. В методе
GET данные формы пересылаются в
составе URL-запроса. В методе POST
данные формы пересылаются в теле
запроса.
• Значением этого параметра
является медиатип, определяющий
формат кодирования данных, при
передаче их от браузера к серверу.
Браузер кодирует данные, чтобы
исключить их искажения в
процессе передачи.
Кодирование и пересылка данных
формы в запросе
Запрос клиента разбивается на три части:
• 1 строка
- команда HTTP (метод GET или POST)
- URL-адрес запрашиваемого файла cgi-сценария
- номер версии протокола HTTP
• 2 строка - заголовок запроса. Заголовок
содержит служебную информацию,
необходимую для обработки тела сообщения
или управления обменом
• 3 строка - тело запроса. Не является
обязательным, в отличие от заголовка
сообщения. Оно может содержать текст,
графику, аудио- или видеоинформацию.
Схема кодирования данных из формы
1.Для каждого элемента формы формируется пара
где value - значение элемента, введенное пользователем
или назначенное по умолчанию
2. Все пары объединяются в строку через разделитель
Символы, не допустимые в составе URL (заменяются
последовательностью, состоящей из символа % и их 16го ASCII кода.
Пробел Признак конца строки
Этот процесс называется URL-кодированием.
3. Закодированная информация передается серверу
одним из методов (GET или POST).
Пример:
• GET:
<FORM METHOD = "GET" action = "/cgibin/registrat.cgi">
POST:<FORM METHOD = "POST" action
= "/cgi-bin/registrat.cgi">
- сообщает серверу
количество байт,
переданных в теле
запроса.
Ответ сервера состоит из
следующих частей:
1. Строка состояния:
–номер версии протокола HTTP;
–код состояния;
–краткое описание состояния.
Пример:
#запрос выполнен успешно
#документ отсутствует
2. Заголовок ответа. Содержит
информацию о сервере и о
возвращаемом html-документе.
Пример:
#текущие дата и время
#имя и номер версии сервера
#медиатип содержимого
Download