Ответ
Да, передаёт. GET передаёт данные на сервер в виде параметров строки запроса (query parameters), которые становятся частью URL.
Как это работает:
GET /api/users?role=admin&active=true HTTP/1.1
Host: example.com
Сервер извлекает параметры role=admin и active=true из URL для обработки.
| Отличия от POST (когда что использовать): | Критерий | GET | POST |
|---|---|---|---|
| Назначение | Получение данных (идемпотентный) | Создание/отправка данных | |
| Размещение данных | В URL (строка запроса) | В теле запроса (request body) | |
| Видимость | Видна в URL, истории, логах | Скрыта в теле запроса | |
| Кэширование | Да (браузером, CDN) | Нет (по умолчанию) | |
| Ограничения длины | Да (ограничение длины URL) | Нет (теоретически) | |
| Безопасность | Не для секретов | Более безопасен для конфиденц. данных |
Практическое правило:
- Используйте GET для запросов, которые получают информацию (поиск, фильтрация, пагинация).
- Используйте POST (или PUT/PATCH) для операций, которые изменяют состояние на сервере (создание заказа, отправка формы).