Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Обработка данных формы




Данные, введенные в форму, отправляются на веб-сервер и там обрабатываются. Чтобы разобраться в механизме взаимодействия браузера, сервера и программ на сервере, нужно рассмотреть базовый протокол WWW-сервиса HTTP и CGI - шлюз между сервером и серверным программным обеспечением.

Взаимодействие веб-сервера и клиента (браузера) осуществляется по протоколу HTTP (Hypertext Transfer Protocol - протокол передачи гипертекста). Любой запрос клиента и ответ сервера состоит из трех частей - строки запроса (ответа), заголовка и тела запроса.

Установив соединение с сервером, браузер посылает запрос, указав HTTP-команду (метод - GET, HEAD или POST), адрес документа и номер версии HTTP. Например, GET /index.html HTTP/1.0. Заголовок содержит информацию (необязательную) о типе браузера, о формате принимаемых документов и т.д. Если используется метод POST, тело запроса может содержать дополнительные данные. Обычно это данные для CGI-программы или отредактированный документ. В противном случае тело запроса пустое.

Ответ сервера - это строка состояния, содержащая номер версии HTTP, код состояния и его описание. Например,

HTTP/1.0 200 OK.

Далее следует заголовок, содержащий информацию о сервере и запрошенном документе. Наконец, тело ответа содержит сам документ или результат работы CGI-программы. В случае, если сервер не может передать документ, могут передаваться данные, поясняющие причины отказа. В случае запроса по методу HEAD тело ответа пустое, передается только информация о документе.

CGI (Common Gateway Interface) - это шлюз, с помощью которого web-сервер может взаимодействовать с другими программами, работающими на этом сервере. В частности, данные, введенные в форме, передаются на сервер и там обрабатываются CGI-программой. Данные в CGI-программу сервер может передавать двумя способами - либо через переменные среды операционной системы, либо через стандартный поток ввода (STDIN). Переменные среды, инициализируемые веб-сервером, содержат информацию о самом сервере, используемом протоколе, информацию о хосте, направившем запрос. Для написания CGI-программ обычно используется язык Perl, однако такие программы можно писать на любом языке - Си, Паскале и т.д. Большинство этих языков имеют стандартные средства для обработки переменных окружения, стандартный поток ввода обычно обрабатывается как обычный файл. Результаты работы программы (обычно это html-документ) веб-сервер передает обратно браузеру.

В CGI-программу данные, введенные в форму, могут передаваться двумя методами. По методу GET данные передаются серверу в самом URL, например:

GET /cgi_bin/prg.pl?name=John&date=24 HTTP/1.0,

сервер же передает данные CGI-программе в переменной среды QUERY_STRING.

При использовании метода POST данные передаются серверу в теле http-запроса, например так:

POST /cgi_bin/prg.pl HTTP/1.0.

......

name=John&date=24

......

В CGI-программу данные в этом случае передаются через стандартный поток ввода, длина данных указывается в переменной окружения CONTENT_LENGTH.

Тег <INPUT>

Тег <INPUT> служит для определения одного из стандартных элементов формы. Тег непарный (не требует закрывающего тега), и имеет следующие атрибуты:

· TYPE - тип управляющего элемента. Значение по умолчанию - "text". Возможные значения - text, password, file, hidden, checkbox, radio, submit, reset, button, image;

· NAME - определяет имя управляющего элемента. Регистр учитывается;

· VALUE - определяет начальное значение управляющего элемента. Этот атрибут не обязателен, если только для атрибута TYPE не установлено одно из значений "radio", "checkbox", "password" или "file". Для элементов "radio", "checkbox" определяет значение, которое посылается серверу при выборе элемента и отправке формы;

· SIZE - определяет ширину управляющего элемента на экране. Ширина дается в пикселах, если для атрибута type не установлено значение "text", "file" или "password". В этом случае ширина задается в числе символов (число должно быть целым);

· MAXLENGTH - если для атрибута type установлены значения "text" или "password", этот атрибут определяет максимальное число символов, вводимых пользователем. Это число может превышать указанный в атрибуте SIZE размер поля; в этом случае браузер должен обеспечивать механизм прокрутки. По умолчанию число символов не ограничено;

· CHECKED - если для атрибута type установлено значение "radio" или "checkbox", этот логический атрибут указывает на то, что флажок установлен по умолчанию. Для других типов управляющих элементов игнорируется.

В версии HTML 4.0 добавлены следующие атрибуты:

· SRC - Если атрибут type имеет значение "image", этот атрибут определяет URL изображения, используемого для представления графической кнопки;

· ALT - альтернативный текст;

· ALIGN - выравнивание;

· READONLY - управляющие элементы ввода только для чтения;

· DISABLED - отключенные управляющие элементы ввода;

· TABINDEX - определяет порядок перехода по нажатию клавиши tab;

· ACCESSKEY - определяет клавиши быстрого доступа (hot-key).

Тип управляющего элемента, определяемый элементом <INPUT>, зависит от значения атрибута TYPE.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 442; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.