На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

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, сети, интернет, концепции интернета, формы

Читайте также:




JQuery анимации
Комментарии к SQLite


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.