
HTTP 헤더는 클라이언트와 서버 간에 추가 정보를 전달할 때 사용되는 메타데이터입니다. 크게 요청 헤더, 응답 헤더, 보안 관련 헤더로 나눌 수 있습니다.
클라이언트(보통 브라우저)가 서버에 요청을 보낼 때 함께 전달되는 헤더입니다.
| 헤더 이름 | 설명 |
|---|---|
| User-Agent | 요청을 보내는 클라이언트의 정보(브라우저, OS 등)를 나타냅니다. 예: Mozilla/5.0 (Windows NT 10.0; Win64; x64) |
| Accept | 클라이언트가 수신할 수 있는 MIME 타입을 명시합니다. 예: application/json, text/html |
| Content-Type | 요청 본문의 데이터 타입을 지정합니다. POST/PUT 요청 시 주로 사용. 예: application/json, application/x-www-form-urlencoded |
| Authorization | 인증 정보를 포함합니다. 토큰 기반 인증 시 사용. 예: Bearer eyJhbGci... |
서버가 클라이언트에게 응답할 때 보내는 헤더입니다.
| 헤더 이름 | 설명 |
|---|---|
| Content-Length | 응답 본문의 바이트 크기를 나타냅니다. |
| Content-Encoding | 응답 본문의 인코딩 방식(Gzip 등)을 명시합니다. 예: gzip, deflate |
| Set-Cookie | 브라우저에 쿠키를 저장하라는 명령입니다. 예: Set-Cookie: session_id=abc123; HttpOnly; Secure |
웹 애플리케이션의 보안을 강화하기 위해 사용하는 헤더입니다.
| 헤더 이름 | 설명 |
|---|---|
| CORS 관련 헤더 | 외부 도메인의 리소스 접근을 제어합니다. - Access-Control-Allow-Origin - Access-Control-Allow-Methods 등 |
| X-Frame-Options | 페이지가 iframe 등에 포함되지 않도록 설정하여 클릭재킹(Clickjacking)을 방지합니다. 예: DENY, SAMEORIGIN |
| X-XSS-Protection | 브라우저의 XSS 공격 필터링 기능을 활성화합니다. 예: 1; mode=block |
요청 헤더는 클라이언트의 환경 및 데이터 형식을 서버에 전달
응답 헤더는 서버가 클라이언트에 응답할 때 메타 정보를 포함
보안 헤더는 웹 애플리케이션을 XSS, 클릭재킹, CORS 등 보안 위협으로부터 보호