Ответ
Параметры в GET-запросе передаются в строке запроса (query string) URL после знака ? в формате ключ=значение. Несколько параметров разделяются амперсандом &.
Синтаксис:
https://api.example.com/resource?param1=value1¶m2=value2¶m3=value3
Ключевые правила и best practices:
-
URL Encoding: Специальные и не-ASCII символы должны быть закодированы (например, пробел →
%20или+).// JavaScript пример const url = `https://api.com/search?q=${encodeURIComponent('test query & name')}`; // Результат: https://api.com/search?q=test%20query%20%26%20name -
Ограничения: Длина URL ограничена (~2048-4096 символов в зависимости от браузера/сервера). Для больших объёмов данных используйте POST.
-
Безопасность: Параметры видны в логах, истории браузера, referrer. Никогда не передавайте пароли, токены или чувствительные данные в query string.
-
Идемпотентность и кеширование: GET-запросы должны быть идемпотентными и могут кешироваться.
Пример формирования запроса на Python (requests):
import requests
params = {
'search': 'Python tutorial',
'page': 2,
'sort': 'date',
'max_results': 50
}
response = requests.get('https://api.example.com/items', params=params)
# Фактический URL: https://api.example.com/items?search=Python+tutorial&page=2&sort=date&max_results=50