Ответ
Да, данные в GET-запросе передаются, но не в теле запроса, а в виде параметров строки запроса (query string), которые добавляются к URL после знака ?.
Синтаксис и пример:
https://api.example.com/search?query=test&limit=10&sort=asc
В этом URL параметры: query=test, limit=10, sort=asc.
Ключевые ограничения и особенности:
- Длина URL: Ограничена браузерами и серверами (обычно ~2048-4096 символов).
- Видимость: Параметры видны в адресной строке браузера, истории и логах, поэтому не подходят для передачи паролей, токенов или конфиденциальных данных.
- Кэширование: GET-запросы могут кэшироваться браузерами и промежуточными прокси.
- Идемпотентность: GET предназначен для получения данных без изменения состояния сервера.
Пример на Python с библиотекой requests:
import requests
params = {"q": "Python", "page": 2}
response = requests.get("https://api.example.com/search", params=params)
# Фактически будет выполнен запрос к:
# https://api.example.com/search?q=Python&page=2
print(response.url)