Какие знаешь примеры заголовков в запросе?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
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.