belarusweb.net
© Петр Романовский Минск, 2016-2017.



belarusweb.net

Основы создания сайтов...
HTML >>>

6.2. Методы передачи данных GET и POST

В формах для отправки данных на сервер применяются два метода HTTP-запросов: GET и POST, каждый из которых имеет свои преимущества и недостатки и применяется в зависимости от конкретной ситуации.

Метод запроса GET является открытым методом передачи данных, т.к. они добавляются непосредственно в URL-адрес после знака вопроса '?' и видны в адресной строке браузера всем пользователям. Происходит это следующим образом: данные формы, которые представляют собой пары 'имя=значение', объединяются в одну строку, соединяясь знаком амперсанда '&', и присоединяются к URL-адресу обработчика формы, указанному в атрибуте action открывающего тега элемента 'form'; при этом 'имя' в паре представляет собой значение атрибута name соответствующего элемента формы, а 'значение' – значение атрибута value данного элемента, которое есть не что иное, как введенные пользователем данные. Так после отправки данных формы, показанной в примере 6.1, в адресной строке в зависимости от браузера все пользователи смогут увидеть отправленные данные в виде: http://localhost/test/php/registration.php?first_name=Иван&last_name=Иванов (см. рис. 6.2) или http://localhost/test/php/registration.php?first_name=%D0%98%D0%B2%D0%B0%D0%BD&last_name=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2 (для браузера IE). Во втором случае вместо русских букв использованы их цифровые коды 'utf-8' со знаком '%'. Дело в том, что данные отправляемые методом GET, кодируются стандартным способом 'urlencoded', который предусматривает замену таким образом всех символов, кроме английских букв, цифр и знаков - , _ , . , ! , ~ , * , ' , ( , ) . Если внимательно посмотреть на представленные адреса, то легко догадаться, что, например, буква 'И' кодируется, как '%D0%98', а буква 'в' кодируется, как '%D0%B2'. И хотя некоторые браузеры с целью улучшения визуального восприятия показывают адреса, где отображаются русские буквы, отправляется запрос все равно в закодированном виде.

Рис. 6.2. Пример адреса, содержащего данные 'GET'-запроса

Отправка HTTP-запросов методом GET довольна проста, а сам запрос отличается высокой скоростью выполнения. Однако он не является конфиденциальным и ограничен объемом передаваемых данных, который не должен превышать 4 Кб. Поэтому GET-запросы используются для передачи небольших объемов неконфиденциальных текстовых данных, например, при обмене информацией между скриптами, разположенными в разных файлах на сервере. Кроме того, запросы поисковых систем и форм поиска по сайту также отправляются именно методом GET.

Поскольку формы чаще всего используются для получения персональных данных пользователей или же передачи файлов, то основным методом отправки данных в них является метод POST. Он позволяет передавать данные значительных размеров, а их содержание можно узнать только используя специальные методы. Однако структура самих POST-запросов несколько сложнее, чем у GET-запросов и требует более глубоких знаний. Поэтому на данный момент мы ограничимся лишь упоминанием о нем, тем более, что для применения в формах, нам достаточно знать лишь область его применения. Что касается более детального рассмотрения обоих методов, то мы сделаем это позже в ходе изучения языков JavaScript и PHP.

Контрольные вопросы и задания

  1. Чем отличаются методы GET и POST?

Словарь новых английских слов

form [ˈfɔːm] – форма, фигура.
action [ˈakʃ(ə)n] – действие, акция.
validate [ˈvalɪdeɪt] – подтверждать, проверять.
accept [əkˈsɛpt] – принимать.
input [ˈɪnpʊt] – вводить данные, ввод.
value [ˈvaljuː] – значение, ценность.
hidden [ˈhɪdn] – скрытый, спрятанный.
password [ˈpɑːswəːd] – пароль.
reset [riːˈsɛt] – возврат в начальное положение.
submit [səbˈmɪt] – представить на рассмотрение .
multiple [ˈmʌltɪp(ə)l] – множественный.
required [rɪˈkwʌɪəd] – обязательный.
read [riːd] – читать.
only [ˈəʊnli] – только.
length [leŋθ] – длина.
list [lɪst] – список, каталог.
check [tʃɛk] – проверять, проверка, птичка.
label [ˈleɪb(ə)l] – ярлык, бирка.
area [ˈeəriə] – район, область, зона.
row [raʊ] – ряд, последовательность.
hard [hɑːd] – твердо, крепко.
soft [sɔːft] – мягко, нежно.
select [sɪˈlɛkt] – выбирать, отбирать.
button [ˈbʌt(ə)n] – кнопка, пуговица.
group [ɡruːp] – группа, кучка.
option [ˈɒpʃ(ə)n] – предмет выбора.
field [fiːld] – площадка, участок, поле.
set [set] – устанавливать.
legend [ˈlɛdʒ(ə)nd] – легенда, надпись.

Комментарии (0)
Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!    
     
belarusweb.net © Петр Романовский, Минск, 2016-2017.
Связаться с автором
Наверх