Ответ
Основные HTTP-методы, определяющие действие, которое нужно выполнить с ресурсом:
| Метод | Идемпотентность | Безопасность | Назначение |
|---|---|---|---|
GET |
Да | Да | Получение данных или представления ресурса. Не должен изменять состояние сервера. |
POST |
Нет | Нет | Создание нового ресурса или отправка данных для обработки. |
PUT |
Да | Нет | Полное обновление ресурса. Если ресурса нет, может создавать его. |
PATCH |
Нет | Нет | Частичное обновление ресурса. |
DELETE |
Да | Нет | Удаление указанного ресурса. |
Другие методы:
HEAD– аналогиченGET, но сервер возвращает только заголовки ответа (без тела). Используется для проверки доступности ресурса.OPTIONS– описывает параметры связи (доступные методы) для целевого ресурса.TRACE– выполняет петлевое тестирование пути к целевому ресурсу (для отладки).CONNECT– устанавливает туннель к серверу, идентифицируемому целевым ресурсом (используется для SSL).
Практическое правило (REST): Соблюдайте семантику методов. Например, операцию поиска или фильтрации реализуйте через GET с query-параметрами, а не через POST.
Пример на Java (HttpURLConnection):
URL url = new URL("https://api.example.com/users");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true); // Разрешаем запись в тело запроса
// ... запись данных в OutputStream