Ответ
GET-запросы передают данные в URL, который сохраняется в истории браузера, логах сервера и может быть виден в network-инструментах разработчика. POST-запросы безопаснее, так как данные передаются в теле запроса.
Пример уязвимости:
// Небезопасно - пароль в URL
val url = "https://api.example.com/login?user=test&password=12345"
// Безопаснее - POST с телом запроса
val request = Request.Builder()
.url("https://api.example.com/login")
.post(FormBody.Builder()
.add("user", "test")
.add("password", "12345")
.build())
.build()
Также GET-параметры могут кэшироваться прокси-серверами и попадать в аналитику. Для конфиденциальных данных всегда используйте POST/PUT с HTTPS.