HTML-формы


Продолжим изучение основных терминов, понятий и концепций интернета. В этом материале мы узнаем, что такое HTML-формы - элементы, которые есть наверно на каждом сайте в интернете. В HTML формы - это области, разделенные тегом <form>, содержащие поля ввода текста, кнопки, флажки и другие функции графического пользовательского интерфейса. Формы используются веб-приложениями, чтобы пользователи могли предоставлять данные для отправки на сервер.

В форме элементы, с которыми пользователи могут взаимодействовать для предоставления данных, называются полями формы. Каждому полю формы в HTML присваивается имя, которое идентифицирует его для серверного приложения, но не видно пользователю. Например, на каждой странице у меня на блоге есть подобная форма:



Хотя различные элементы формы кажутся пользователю разными, все они передают информацию в серверное приложение в виде ряда пар имен и значений, разделенных символами&. Каждое имя - это имя поля формы, а значение - это данные, полученные в результате действий пользователя. Например, вот форма с двумя полями ввода текста, в которых пользователь может ввести имя и фамилию:

firstname=Мария&lastname=Зайцева
Данные формы передаются на сервер одним из двух способов, в зависимости от того, какой метод (GET или POST) указан в теге <form>:
  • При использовании метода GET данные формы передаются в строке запроса в URL-адресе.
  • Когда метод POST, данные формы передаются в теле сообщения.
Набор символов, необходимый для кодирования данных формы, задается параметром CHARACTERSET и должен соответствовать кодировке форм, определенной соответствующей формой HTML.

Кодировка символов (параметр набора символов), используемая HTTP-клиентами для данных форм (как для методов GET, так и для методов POST), определяется информацией в HTML-форме.

HTTP-клиент обычно отправляет данные форм с использованием той же кодировки символов, которая использовалась для HTML-формы, указанной либо параметром набора символов в заголовке типа содержимого, либо эквивалентным метатегом, встроенным в HTML; например:

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
Вы также можете использовать атрибут accept-charset в элементе HTML-ФОРМЫ, чтобы указать дополнительную допустимую кодировку символов. Если вы не указали кодовую страницу, браузер получает эту информацию из параметра набора символов. Кодировка символов HTML-формы обычно либо ISO-8859-1, либо UTF-8, но не ограничивается этими значениями.

Информация о кодировке символов обычно не присутствует как часть отправленного запроса формы. Таким образом, если набор символов по умолчанию для интернета (ISO-8859-1) не используется, приложение, считывающее форму, должно указать кодировку, используя ключевое слово CHARACTERSET. Если CHARACTERSET опущен, но HTTP-клиент предоставляет значение набора символов в заголовке типа содержимого (не стандартная практика для отправки HTML-форм), используется значение набора символов; в противном случае предполагается ISO-8859-1.

Данные формы обычно передаются с помощью экранированных специальных символов. Если форма определена с помощью метода GET, поскольку данные отправляются в виде строки запроса в URL-адресе, зарезервированные или исключенные символы всегда должны быть экранированы.

Если форма определена с помощью метода POST, данные отправляются в теле сообщения. Однако, как определено в спецификации HTML 2.0, тип кодировки по умолчанию для всех форм-application/x-www-form-urlencoded. (подробнее тут). Когда эта кодировка используется для формы с методом POST, хотя данные отправляются в теле сообщения, зарезервированные или исключенные символы экранируются, как если бы они были в URL-адресе.

Если для формы указан альтернативный тип кодировки составные/данные формы (что выполняется с помощью атрибута ENCTYPE в теге HTML <form>), необходимо экранировать символы, отличные от ASCII, в именах полей, но символы, отличные от ASCII, в значениях полей экранировать не нужно. Данные также представлены в ряде отдельных разделов в теле сообщения.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегистатьи IT, сети, интернет, концепции интернета, формы




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Ошибка ArrayIndexOutOfBoundsException Java
Капча майнинг
Урок 7. Простая отправка email в Laravel через smtp