Ответ
Данные в GET-запросе передаются в строке запроса URL в виде параметров (query string).
Синтаксис:
Параметры добавляются после знака вопроса ? в формате ключ=значение. Пары разделяются амперсандом &.
https://api.example.com/search?query=test&limit=10&sort=asc
В этом примере передано три параметра: query, limit и sort.
Ключевые особенности и ограничения:
- Видимость: Параметры видны в адресной строке браузера, истории и логах сервера. Не подходят для передачи конфиденциальных данных (паролей, токенов).
- Ограничение длины: Общая длина URL ограничена (обычно ~2048 символов, зависит от браузера и сервера).
- Кэширование: GET-запросы могут кэшироваться браузерами и промежуточными прокси.
- Кодирование: Специальные символы и пробелы должны быть закодированы (например, пробел как
%20).
Пример формирования запроса на JavaScript:
// Использование URLSearchParams для корректного кодирования
const params = new URLSearchParams({
query: 'test search',
page: 2,
lang: 'en'
});
const url = `https://api.example.com/search?${params.toString()}`;
// Результат: https://api.example.com/search?query=test+search&page=2&lang=en
fetch(url);