Скачать 0.55 Mb.
|
4.5 Сравнение наборов HTTP-параметровНеобходимо дополнительно рассмотреть вопрос о сравнении наборов HTTP-параметров. Параметры могут быть переданы в веб-приложение методами GET и POST [22, 23], определёнными в стандарте протокола HTTP. При использовании метода GET параметры передаются в URL-адресе вида http://<адрес приложения>?параметр1=значение1&параметр2=значение2 Так как длина URL ограничена, метод GET применим для передачи данных небольшого объёма. Cогласно стандарту HTTP [23], запросы типа GET считаются идемпотентными — многократное повторение одного и того же запроса GET должно приводить к одинаковым результатам (при условии, что сам ресурс не изменился за время между запросами). Это позволяет кэшировать ответы на запросы GET. В качестве примера можно привести поисковую систему Google.com – она принимает поисковый запрос в URL-строке. При использовании метода POST данные посылаются внутри самого HTTP-запроса. При этом ограничение на длину данных, передаваемых методом POST, определяется конфигурацией самого веб-сервера. Метод POST используется для передачи данных большого объёма (данные из форм, файлы и т. п.). В отличие от метода GET, метод POST не считается идемпотентным, то есть многократное повторение одних и тех же запросов POST может возвращать разные результаты. Примером может служить отправка сообщения на форум. Сообщение может иметь большую длину и при каждой отправке одного и того же сообщения будет появляться новая копия сообщения на странице соответствующей темы. Таким образом, методом POST в основном передаются данные большой длины [22], в основном из форм, в то время как данные, переданные методом GET (то есть, URL, содержащий набор параметров), используются в основном для навигации – URL с заданными параметрами может быть передан для перехода на нужную страницу. Разработчиками веб-приложений часто используется комбинированный подход – GET параметры используются для уточнения действия, а POST параметры содержат данные, которые предстоит обработать [22]. В качестве примера, иллюстрирующего такой подход, можно привести популярные веб-приложения, созданные при помощи технологии PHP – систему управления контентом Drupal (текущая версия – 5.1) [27] и систему управления форумом Invision Power Board (текущая версия – 2.2) [28]. В системе управления контентом Drupal вся работа ведётся через файл index.php, расположенный в папке приложения, в котором, по мере необходимости, подключаются дополнительные модули и библиотеки. Специальный GET-параметр q используется для указания действия или адреса страницы и присутствует в URL-адресе всегда, за исключением случая, когда идёт обращение по базовому адресу веб-приложения. В этом случае параметр q считается неопределённым, что соответствует главной странице сайта под управлением Drupal. К примеру, при заданном значении параметра q=admin/build/modules система выводит список модулей в виде формы с флажками. Можно выбрать модули, которые должны быть подключены и по нажатию кнопки отправки данных система сохранит конфигурацию и проинсталлирует выбранные модули. При этом данные формы будут переданы по URL-адресу, содержащему то же значение параметра q=admin/build/modules, но среди POST-данных будет присутствовать скрытый (типа hidden) параметр формы form_id со значеием «system_modules», что будет являться указанием системе сохранить параметры конфигурации, переданные из формы. Аналогично реализованы остальные функции системы: параметр q используется для указания действия, а POST-данные содержат данные для обработки. В системе управления форумом Invision Power Board используется схожая схема работы. Все действия осуществляются через файл index.php. Действия и дополнительные данные для обработки указываются как в GET, так и в POST-параметрах. К примеру, GET-параметр showforum=8 в URL-адресе является командой отображения страницы со списком тем форума с соответсвующим идентификатором в базе данных; GET-параметр showtopic=12 – команда отображения страницы со списком сообщений на тему с соответствующим идендификатором в базе данных. При добавлении сообщения данные отсылаются методом POST, в числе которых присутствует скрытый (hidden) параметр act со значением «Post», что и является для системы командой на обработку остальных данных и добавление сообщения. Таким образом, можно сделать следующий вывод. GET-параметры во многих случаях используются как своеобразные «указатели» действия или для навигации, поэтому разные значения одного и того же GET-параметра могут приводить к логически разным действия веб-приложения (как в случае GET-параметра q системы управления контентом Drupal). POST-параметры содержат данные для обработки и, за исключением служебных, вроде скрытого параметра act системы управления форумом Invision Power Board, рассмотренного выше, как правило не управляют логикой работы веб-приложения – разные значения POST-параметров будут обрабатываться в рамках одной и той же логики. Из этого следует, что GET-параметры логично сравнивать на точное совпадение по значению, а POST-параметры – на совпадение типов. Однако, в ряде случаев для отдельных параметров возможны исключения или особые условия при сравнении. Набор типов и их семантика определяется реализацией; подробнее об используемом наборе типов и задании исключений и особых условий при сравнении рассказывается в Подразделе 6.2.2 и Подразделе 6.4.2. Таким образом, далее будет считаться, что два набора HTTP-параметров совпадают, если:
|
Министерство образования и науки российской федерации томский государственный... Государственное общеобразовательное учреждение-средняя общеобразовательная школа | Московский государственный университет имени м. В. Ломоносова юридический факультет ... | ||
Московский государственный университет имени м. В. Ломоносова факультет... Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования | Московский Государственный Университет им. М. В. Ломоносова Географический... Объекты наследия как демонстрационная площадка использования возобновляемых источников энергии на Северо-западе Европейской части... | ||
Мужчина и женщина в обществе: история, культура, современность Кандидат политических наук, старший научный сотрудник, лаборатория развития гендерного образования, факультет педагогического образования,... | Министерство образования и науки российской федерации томский государственный... Целью дисциплины является ознакомление студентов с базовыми понятиями следующих разделов информатики: теория информации, технические... | ||
Московский государственный университет имени М. В. Ломоносова Краева К. В. К вопросу о специфике экзаменационного стресса у студентов // Вестник Университета. Государственный университет управления... | Сборник задач и тестов по психологии и педагогике./ Под общей редакцией... Московский государственный университет тонких химических технологий им. М. В. Ломоносова | ||
Московский государственный институт электроники и математики (технический университет) Сервер — один из основных компонентов модели клиент-сервер, программный компонент вычислительной системы, выполняющий сервисные функции... | В. ломоносова юридический факультет материалы международной конференции... Краева К. В. К вопросу о специфике экзаменационного стресса у студентов // Вестник Университета. Государственный университет управления... | ||
Изменения в гиа 2012 Московский государственный университет тонких химических технологий им. М. В. Ломоносова | Московский Государственный Университет им. М. В. Ломоносова Механико-математический... Именно сейчас от того, насколько современным и интеллектуальным нам удастся сделать общее образование, зависит благосостояние наших... | ||
Программа по формированию навыков безопасного поведения на дорогах... Имический факультет мгу имени М. В. Ломоносова,Московский областной государственный университет, редакция журнала"Вестник образования... | Договор Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет имени... | ||
Книга стихов как проблема жанрологии на современном этапе Белова... Настоящее Положение определяет цели, задачи, порядок проведения, критерии оценки, механизм подведения итогов областного общественного... | Санкт-Петербургский Государственный Электротехнический Университет... «Эксплуатация водного транспорта и транспортного оборудования»/ 140600 «Электротехника, электромеханика и электротехнологии» |