Files
build-web-application-with-…/ru/04.0.md
2021-06-21 22:01:42 +07:00

24 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 4. Пользовательские формы
Пользовательские формы очень часто используются при разработке веб-приложений. Они дают возможность клиенту и серверу устанавливать коммуникацию друг с другом. Если вы - веб-разработчик, Вы должны быть хорошо знакомы с веб-формами; если Вы - программист на C/C++, Вы можете спросить - что такое пользовательская форма?
Форма - это область, которая содержит элементы формы. Пользователь может вносить информацию в элементы формы, такие как текстовые поля, выпадающие списки, радиокнопки, чекбоксы и т.д. Для определения формы используется тэг `<form>`:
<form>
...
элементы формы, через которые вносится информация
...
</form>
В Go уже есть множество удобных функций для того, чтобы взаимодействовать с пользовательскими формами. Можно легко получить данные из формы в запросе HTTP, они легко интегрируются в Ваши веб-приложения. В разделе 4.1 мы собираемся поговорить о том, как обрабатывать данные из форм в Go. Также, поскольку нельзя доверять любым данным, приходящим со стороны клиента, нужно сначала проверить их перед тем, как использовать. В разделе 4.2 мы поговорим о том, как проверить данные, пришедшие из формы.
Говорится, что HTTP - это протокол без сохранения состояния. Так как проверить, что данные из формы пришли от того же пользователя? И как можно быть уверенным, что одна форма может послать данные за один раз лишь единожды? Мы рассмотрим некоторые детали, касающиеся кук (куки - это информация, сохраняемая на стороне клиента и добавляемая в заголовок запроса, посылаемый на сервер) в разделах 4.3 и 4.4.
Еще один важный случай использования форм - загрузка файлов. В разделе 4.5 Вы научитесь это делать, осуществляя контроль размера файла перед тем, как его загрузить, средствами Go.
## Ссылки
- [Содержание](preface.md)
- Предыдущий раздел: [Итоги главы 3](03.5.md)
- Следующий раздел: [Работа с формами](04.1.md)