Атрибут formmethod: метод отправки выбранной кнопки
Formmethod переопределяет метод формы для отдельного элемента отправки. Это позволяет сравнивать способы передачи данных, но требует ясного назначения каждой кнопки.
Назначение
Formmethod переопределяет метод формы для отдельного элемента отправки. Это позволяет сравнивать способы передачи данных, но требует ясного назначения каждой кнопки.
Как это работает
В учебной форме основной метод POST, а кнопка просмотра использует GET. Все значения вымышлены. На своём сервере endpoint /demo-method должен безопасно обрабатывать оба запроса без изменения важных данных.
Пример
<form action="/demo-method" method="post"><label for="fm-topic">Тема</label><input id="fm-topic" name="topic" value="html"><button type="submit">Отправить POST</button><button type="submit" formmethod="get">Посмотреть GET</button></form>
Что должно получиться
При GET значения обычно оказываются в строке запроса, при POST — в теле по выбранной кодировке формы. Смена метода не меняет автоматически требования к обработчику и не превращает просмотр в безопасную запись.
Граница применения и частая ошибка
Не передавайте пароли и секреты через GET: адрес может сохраняться в истории и журналах. POST сам по себе тоже не шифрует данные — для транспорта нужен HTTPS. Операции изменения состояния не следует маскировать под безопасные GET-запросы.
Самостоятельная проверка
Сравните Request Method, URL и Payload в Network своего проекта. Проверьте, что повторное открытие GET-адреса не создаёт записей. Объясните, почему метод, шифрование транспорта и проверка полномочий — разные части решения.