← Назад к вопросам

Какие знаешь примеры заголовков в запросе?

1.0 Junior🔥 171 комментариев
#REST API и микросервисы

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

HTTP Заголовки в запросах

HTTP заголовки (headers) — это метаданные, которые отправляются вместе с запросом и ответом. Они содержат информацию о типе данных, авторизации, кэшировании и многом другом. Вот основные примеры:

Основные заголовки запроса (Request Headers)

1. Content-Type — указывает формат отправляемых данных

request.setHeader("Content-Type", "application/json");
request.setHeader("Content-Type", "application/x-www-form-urlencoded");
request.setHeader("Content-Type", "text/plain");

2. Authorization — передача учётных данных и токенов

request.setHeader("Authorization", "Bearer eyJhbGc...");
request.setHeader("Authorization", "Basic dXNlcm5hbWU6cGFzc3dvcmQ=");

3. Accept — указывает, какой формат ответа ожидается

request.setHeader("Accept", "application/json");
request.setHeader("Accept", "text/html");

4. User-Agent — информация о клиенте

request.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0)");

5. Accept-Language — предпочитаемый язык ответа

request.setHeader("Accept-Language", "ru-RU,ru;q=0.9,en;q=0.8");

Заголовки кэширования

request.setHeader("Cache-Control", "max-age=3600");
request.setHeader("If-Modified-Since", "Wed, 21 Oct 2025 07:28:00 GMT");
request.setHeader("ETag", "\"33a64df551425fcc55e4d42a148795d9f25f89d4\"");

Заголовки безопасности

request.setHeader("X-API-Key", "secret-api-key-12345");
request.setHeader("X-CSRF-Token", "token-value");
request.setHeader("X-Request-ID", "550e8400-e29b-41d4-a716-446655440000");

Пример в Java с HttpClient

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class ApiExample {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        
        HttpRequest request = HttpRequest.newBuilder()
            .uri(new URI("https://api.example.com/users"))
            .header("Content-Type", "application/json")
            .header("Authorization", "Bearer token123")
            .header("Accept", "application/json")
            .header("User-Agent", "MyApp/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(
                "{\"name\":\"John\"}" 
            ))
            .build();
        
        HttpResponse<String> response = client.send(request, 
            HttpResponse.BodyHandlers.ofString());
        
        System.out.println(response.body());
    }
}

Пример с RestTemplate (Spring)

RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Authorization", "Bearer token123");
headers.set("X-API-Key", "secret-key");

HttpEntity<String> request = new HttpEntity<>("{\"name\":\"John\"}", headers);
ResponseEntity<String> response = restTemplate.exchange(
    "https://api.example.com/users",
    HttpMethod.POST,
    request,
    String.class
);

Пример с OkHttp

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
    .url("https://api.example.com/users")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer token123")
    .addHeader("User-Agent", "MyApp/1.0")
    .post(RequestBody.create(
        "{\"name\":\"John\"}",
        MediaType.parse("application/json")
    ))
    .build();

Call call = client.newCall(request);
Response response = call.execute();
System.out.println(response.body().string());

Самые используемые заголовки

  • Content-Type — тип данных в теле запроса
  • Authorization — аутентификация (JWT, OAuth, Basic)
  • Accept — ожидаемый формат ответа
  • X-API-Key — API ключ для защиты
  • User-Agent — идентификация клиента
  • Cache-Control — управление кэшем
  • X-Request-ID — отслеживание запроса

Итог

Заголовки — это критическая часть HTTP протокола. Правильное их использование обеспечивает безопасность, производительность и корректную работу API. Java предоставляет удобные инструменты для установки и управления заголовками в HttpClient, RestTemplate и OkHttp.