В чем разница между GET и POST?
DOM и браузер
GET и POST — два основных HTTP-метода. GET запрашивает данные, POST отправляет данные для создания или обработки на сервере.
GET
- Предназначен для получения ресурса.
- Параметры — в URL (query string).
- Идемпотентен и безопасен: не меняет состояние сервера.
- Кешируется, сохраняется в истории, можно добавить в закладки.
- Ограничение длины URL (~2000 символов на практике).
GET /users?page=1&limit=20POST
- Предназначен для отправки/создания данных.
- Данные — в теле запроса (body), не видны в URL.
- Не идемпотентен: повтор может создать дубликат.
- Не кешируется по умолчанию, не сохраняется в истории.
- Объём тела практически не ограничен.
POST /users
Content-Type: application/json
{ "name": "Ann" }Отличия
- Назначение: GET — читать, POST — изменять/создавать.
- Данные: GET — в URL, POST — в теле.
- Идемпотентность: GET — да, POST — нет.
- Безопасность: чувствительные данные не шлют через GET (попадают в логи/историю).
Коротко для собеседования
GET получает данные, параметры в URL, идемпотентен и кешируется. POST отправляет данные в теле, не идемпотентен и не кешируется. Секреты и большие объёмы — через POST.