Назад к вопросам
Intern
70
questionbank
Что такое методы HTTP?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Методы HTTP (глаголы или команды) определяют действия, которые могут быть выполнены над ресурсом, указанным в URI запроса.
Основные методы:
GET: Запрашивает представление указанного ресурса. Данные запроса передается в URL. Используется для получения данных.POST: Отправляет данные для обработки на указанный ресурс. Данные запроса передаются в теле. Используется для создания или обновления ресурса.PUT: Заменяет все текущие представления ресурса содержимым тела запроса. Используется для обновления ресурса.DELETE: Удаляет указанный ресурс. Используется для удаления ресурса.PATCH: Применяет частичные модификации к ресурсу.HEAD: Запрашивает те же заголовки, что иGET, но без тела ответа.OPTIONS: Описывает методы HTTP, которые сервер поддерживает для указанного URL.
Свойства методов:
- Идемпотентность: Многократное выполнение одного и того же запроса приводит к тому же состоянию ресурса, что и однократное. Идемпотентны:
GET,PUT,DELETE,HEAD,OPTIONS. Не идемпотентен:POST,PATCH. - Безопасность: Запрос не изменяет состояние ресурса на сервере. Безопасны:
GET,HEAD,OPTIONS. Не безопасны:POST,PUT,DELETE,PATCH.
// Пример GET запроса в Java с использованием HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/resource"))
.GET() // И
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
// Пример POST запроса в Java
String postBody = "{\"name\":\"test\", \"value\":\"data\"}";
HttpRequest postRequest = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/resource"))
.POST(HttpRequest.BodyPublishers.ofString(postBody)) // И
.header("Content-Type", "application/json")
.build();
HttpResponse<String> postResponse = client.send(postRequest, HttpResponse.BodyHandlers.ofString());
System.out.println(postResponse.body());