← Назад к вопросам
Как передаются данные в GET
1.3 Junior🔥 231 комментариев
#Клиент-серверная архитектура#Тестирование API
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Передача данных в GET запросе
GET запрос — один из наиболее часто используемых HTTP методов для получения данных с сервера. Понимание того, как в нём передаются параметры, критически важно для API тестирования.
Основной механизм: Query параметры (Query String)
Данные в GET запросе передаются через URL в виде query параметров:
- Параметры добавляются после символа
? - Несколько параметров разделяются символом
& - Формат:
key=value - Видны в адресной строке браузера (небезопасно для конфиденциальной информации)
Примеры:
Один параметр:
GET https://api.example.com/users?id=123
Несколько параметров:
GET https://api.example.com/users?page=2&limit=10&sort=name&order=asc
Параметр с пробелами (URL-кодированием):
GET https://api.example.com/search?q=hello%20world
Ограничения и особенности:
1. Длина URL
- GET может передать максимум ~2000-8000 символов в URL
- Зависит от браузера и сервера
- При превышении лучше использовать POST
2. Безопасность
- Параметры видны в истории браузера
- Логируются на серверах
- Не подходят для передачи паролей, токенов, приватных данных
- Используй HTTPS для шифрования
3. Типы данных
- В URL передаются только строки
- Числа передаются как текст:
?id=123(хотя это строка "123") - Для массивов:
?tags=java&tags=pythonили?tags=java,python - Булевы значения:
?active=trueили?active=false
4. URL кодирование
- Специальные символы:
space=%20,&=%26,?=%3F - Кириллица:
?name=Иван→?name=%D0%98%D0%B2%D0%B0%D0%BD - Браузеры и библиотеки обычно кодируют автоматически
Обработка пустых и повторяющихся параметров:
Пустое значение:
GET /api/users?filter= → параметр presente, но пуст
Повторяющиеся параметры:
GET /api/posts?tags=java&tags=python → массив значений
Что проверять как QA:
- Корректность обработки query параметров
- Валидация отсутствующих обязательных параметров (ошибка 400)
- Поведение при неправильном URL кодировании
- Обработка очень длинных URL
- Чувствительность к регистру параметров (обычно нет, но зависит от реализации)
- Работу с кириллицей и спецсимволами
- Защиту от SQL injection через параметры