Sobes.tech
Назад к вопросам
Junior — Middle
66

Объясните различия между методами HTTP GET и POST и ситуации их использования.

Компании, где спрашивали
МеталлИнвестБанк

Ответ от нейросети

sobes.tech AI

Методы HTTP GET и POST отличаются по назначению и способу передачи данных:

  • GET используется для получения данных с сервера. Параметры передаются в URL (в строке запроса), что ограничивает объем данных и делает запросы кэшируемыми и закладками. GET-запросы должны быть идемпотентными (не изменять состояние сервера).

  • POST применяется для отправки данных на сервер, например, при создании или обновлении ресурсов. Данные передаются в теле запроса, что позволяет отправлять большие объемы и более чувствительную информацию. POST-запросы не кэшируются и не сохраняются в истории браузера.

Когда использовать:

  • GET — для запросов, которые не изменяют данные (например, получение списка пользователей).
  • POST — для операций, изменяющих состояние на сервере (например, отправка формы регистрации).

Пример на Java с использованием HttpURLConnection:

URL url = new URL("https://example.com/api/data");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
// Для POST:
// con.setRequestMethod("POST");
// con.setDoOutput(true);
// try (OutputStream os = con.getOutputStream()) {
//     byte[] input = postData.getBytes("utf-8");
//     os.write(input, 0, input.length);
// }