Что такое query-параметры (URL parameters) в HTTP?

«Что такое query-параметры (URL parameters) в HTTP?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Query-параметры (или URL-параметры) — это пары ключ=значение, добавляемые в конец URL после знака ? для передачи дополнительных данных серверу. Несколько параметров разделяются символом &. Они используются для фильтрации, сортировки, пагинации и настройки запросов к API.

Структура URL: https://api.example.com/resource?param1=value1&param2=value2

Пример с пагинацией и фильтром:

https://api.example.com/users?role=admin&limit=10&page=2&sort=name

Параметры: role=admin, limit=10, page=2, sort=name.

Использование в коде (Python, requests):

import requests
params = {
    'q': 'search term',
    'page': 1,
    'sort': 'date',
    'is_active': 'true'
}
response = requests.get('https://api.example.com/search', params=params)
# Фактический URL: https://api.example.com/search?q=search+term&page=1&sort=date&is_active=true

Важные аспекты для тестирования API:

  • Валидация: Сервер должен корректно обрабатывать отсутствующие, необязательные и обязательные параметры.
  • Кодирование: Специальные символы (пробелы, &, =) должны быть правильно закодированы (например, пробел становится %20 или +).
  • Типы данных: Проверка обработки строковых, числовых и булевых значений.
  • Безопасность: Защита от инъекций через параметры (например, SQL-инъекция, если параметры используются в запросах к БД).