Ответ
Query-параметры (параметры запроса) — это пары ключ=значение, добавляемые в конец URL после знака ? для передачи данных на сервер или между клиентскими страницами. Пары разделяются символом &.
Структура URL с параметрами:
https://example.com/search?q=query&page=2&sort=desc
?— начало строки запроса.q=query— первый параметр (ключq, значениеquery).&— разделитель параметров.page=2,sort=desc— последующие параметры.
Ключевые особенности:
- Кодирование: Специальные символы (пробел,
&,=) должны быть закодированы (например, пробел →%20). - Использование: Параметры используются для фильтрации (
?category=books), пагинации (?page=2), сортировки (?sort=price), передачи идентификаторов сессии (?session_id=abc). -
Получение на клиенте (JavaScript):
// Используя URLSearchParams const urlParams = new URLSearchParams(window.location.search); const page = urlParams.get('page'); // "2" const sort = urlParams.get('sort'); // "desc" // Получить все параметры как объект const params = Object.fromEntries(urlParams.entries());
Ответ 18+ 🔞
А, ну это ж классика, блядь! Ты про эти самые вопросительные знаки в адресной строке, после которых начинается какая-то хуйня вроде ?q=query&page=2? Это, сука, и есть query-параметры, или, по-нашему, параметры запроса. Проще говоря, это такие парочки «ключ=значение», которые ты лепишь в конец ссылки, чтобы серверу что-то намекнуть или между страницами данные перекинуть.
Вот смотри, как это выглядит, ёпта:
https://example.com/search?q=query&page=2&sort=desc
Разбираем по косточкам, блядь:
?— это как красная лампочка загорается: «Внимание, щас начнётся строка запроса, держись!».q=query— первый параметр. Ключq, а значение —query. Типа «ищи вот это».&— разделитель, сука. Без него всё склеится в одну непонятную кашу.page=2,sort=desc— следующие параметры. «Дай вторую страницу» и «сортируй по убыванию».
А теперь главные подводные ебучки, которые надо знать:
- Кодирование, блядь! Нельзя тупо воткнуть пробел или знак
&. Компьютер обосрётся. Пробел превращается в%20, амперсанд — в%26. Иначе получится пиздец и ничего не заработает. - Зачем это надо? Да везде, сука! Чтобы фильтровать товары (
?category=books), листать страницы (?page=2), сортировать (?sort=price) или даже сессию какую-нибудь передать (?session_id=abc123). - Как на фронтенде это вытащить, если ты на JS? Легко, блядь! Современный способ — через
URLSearchParams. Смотри, какой красивый код:
// Берём строку запроса из адреса и суём в этот объект
const urlParams = new URLSearchParams(window.location.search);
const page = urlParams.get('page'); // Вернёт "2", если был ?page=2
const sort = urlParams.get('sort'); // Вернёт "desc"
// А если хочешь всё разом в объект превратить — вот тебе магия
const params = Object.fromEntries(urlParams.entries());
// Получится { q: "query", page: "2", sort: "desc" }
Вот и вся магия, блядь. Ничего сложного, просто способ навесить на ссылку дополнительную информацию, чтобы сервер или другая страница не гадали на кофейной гуще. Главное — не забудь про кодирование, а то будет тебе вместо поиска по запросу «рога & копыта» один большой, блядь, недоумённый вопрос от браузера.