Ответ
HTTP является протоколом прикладного уровня, который служит транспортным механизмом для REST. REST (Representational State Transfer) — это архитектурный стиль, который использует возможности HTTP как протокола без состояния.
Как REST использует HTTP:
- Методы HTTP как операции:
GET— получение ресурса.POST— создание ресурса.PUT/PATCH— полное/частичное обновление ресурса.DELETE— удаление ресурса.
- URI как идентификаторы ресурсов: Каждый ресурс имеет уникальный адрес (например,
https://api.example.com/users/42). - Коды состояния HTTP для обратной связи:
200 OK,201 Created,404 Not Found,500 Internal Server Error. - Заголовки HTTP для метаданных:
Content-Type,Accept,Authorization.
Пример RESTful-запроса на Java 11+:
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/users/1"))
.header("Accept", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Status: " + response.statusCode()); // 200
System.out.println("Body: " + response.body()); // JSON с данными пользователя
Таким образом, REST определяет как использовать HTTP, а HTTP предоставляет средства для этого.