Простая формулировка
<form> группирует поля и описывает, куда и как отправить данные.
Атрибуты
action — URL обработчика (относительный или абсолютный); пустой — текущий URL
method — обычно get или post
- Дополнительно:
enctype, novalidate, target, autocomplete
<form action="/api/signup" method="post">
<input name="email" type="email" required>
<button type="submit">Регистрация</button>
</form>
В SPA часто preventDefault и fetch/XHR, но семантика формы всё равно полезна (Enter для submit, нативные constraint validation).
Итог
action = куда, method = как. Без формы набор input теряет стандартное поведение отправки.