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

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

Ответ

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

Пример URL с query-параметрами:

https://api.example.com/search?query=typescript&page=2&sort=date&limit=10

Разбор параметров:

  • query=typescript — поисковый запрос.
  • page=2 — номер страницы для пагинации.
  • sort=date — критерий сортировки.
  • limit=10 — количество результатов на странице.

Извлечение параметров на клиенте (JavaScript):

// Использование URLSearchParams (современный API)
const url = new URL('https://api.example.com/search?query=typescript&page=2');
const params = new URLSearchParams(url.search);

console.log(params.get('query')); // "typescript"
console.log(params.get('page'));  // "2"
console.log(params.get('sort'));  // null (параметр отсутствует)

// Добавление или изменение параметра
params.set('limit', '20');
console.log(params.toString()); // "query=typescript&page=2&limit=20"

Извлечение на сервере (Node.js с Express):

app.get('/search', (req, res) => {
  const query = req.query.query;     // "typescript"
  const page = parseInt(req.query.page) || 1; // 2 (с приведением к числу)
  const sort = req.query.sort || 'relevance'; // значение по умолчанию
  // ... логика обработки
});

Основные случаи использования: фильтрация, сортировка, пагинация в REST API, отслеживание аналитики (UTM-метки), предзаполнение форм.