ZeroTool Workbench

HTTP Header 분석기

HTTP 요청 또는 응답 원시 헤더를 붙여넣고 보안, 캐싱, CORS, 콘텐츠, 인증 메타데이터를 즉시 분석. 100+ 헤더 설명과 컴플라이언스 힌트. 브라우저에서 완결.

100% 클라이언트 사이드 데이터가 브라우저 밖으로 나가지 않습니다 무료 · 회원가입 불필요

사용 방법

  1. 원시 HTTP 헤더를 텍스트 영역에 붙여넣습니다. 첫 줄은 상태 줄 또는 메서드 줄이 될 수 있습니다.
  2. 분석을 클릭하세요. 도구가 요청 / 응답을 자동 감지하고 카테고리별로 그룹화합니다.
  3. 분류별, 원본, JSON 탭을 전환하며 보기를 바꿉니다.
  4. 보안 헤더 카드의 인라인 힌트를 확인하세요 — 잘못된 구성은 경고, 강화 권장은 참고로 표시됩니다.
  5. JSON 복사로 분석 결과를 내보내 후속 자동화에 활용합니다.

예시: 보안 헤더가 포함된 응답

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Content-Security-Policy: default-src 'self'; script-src 'self'
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Cache-Control: no-store
Set-Cookie: session=abc123; HttpOnly; Secure; SameSite=Strict; Path=/

분석기는 Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options, Referrer-Policy를 보안으로 분류합니다. Cache-Control은 캐싱, Content-Type은 콘텐츠, Set-Cookie는 쿠키로 분류됩니다. 각 카드에는 한 줄 설명과 힌트(예: HttpOnly 없는 Set-Cookie는 경고)가 포함됩니다.

예시: CORS 프리플라이트

OPTIONS /api/v1/orders HTTP/1.1
Host: api.example.com
Origin: https://app.example.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: Authorization, Content-Type

요청으로 인식됩니다. Access-Control-Request-* 쌍은 프리플라이트 표식입니다. 분석기는 Origin을 강조하고 요청된 메서드와 헤더를 나열합니다. 응답 측과 함께 사용하면 CORS 핸드셰이크를 끝에서 끝까지 추적할 수 있습니다.

카테고리 한눈에 보기

  • 상태 — 첫 줄(상태 줄 또는 메서드 줄).
  • 보안 — HSTS, CSP, X-Frame-Options, COOP/COEP/CORP, Permissions-Policy, Fetch metadata.
  • 캐싱 — Cache-Control, ETag, Vary, Expires, Last-Modified, 조건부 요청 헤더.
  • 콘텐츠 — Content-Type, Content-Encoding, Accept-*, Content-Disposition.
  • CORS — Access-Control-*와 Origin.
  • 인증 — Authorization, WWW-Authenticate, Proxy-Authenticate.
  • 쿠키 — Cookie와 Set-Cookie.
  • 전송 / 범위 / 프록시 / 일반 / 사용자 정의 — 나머지 카테고리. X-* 미지 헤더는 사용자 정의로 분류됩니다.

컴플라이언스 힌트 기준

힌트는 보수적으로, 명백한 설정 오류만 표시하며 주관적 스타일 평가는 하지 않습니다. 예:

  • HSTS max-age가 1년 미만이거나 includeSubDomains / preload 누락.
  • CSP에 ‘unsafe-inline’ 또는 ‘unsafe-eval’ 포함.
  • Set-Cookie에 HttpOnly 또는 Secure 누락.
  • Access-Control-Allow-Credentials: true와 와일드카드 Origin 조합(스펙 위반).
  • Cache-Control에 no-store와 max-age 공존(max-age 사실상 무효).

관련 도구

FAQ

헤더가 서버로 전송되나요?

아니요. 파싱과 분석은 모두 브라우저 내 인라인 JavaScript로 완결되며 업로드는 발생하지 않습니다. Authorization 토큰, Set-Cookie 문자열, 프로덕션 헤더 같은 민감한 정보도 안심하고 붙여넣을 수 있습니다.

URL에서 직접 헤더를 가져올 수 있나요?

설계상 불가능합니다. URL 페치는 백엔드가 필요하며 남용 위험도 있습니다. curl -I, fetch -v, 브라우저 DevTools 네트워크 패널 또는 임의의 HTTP 클라이언트에서 헤더를 복사한 뒤 붙여넣으세요. 이 도구는 분석 단계만 담당합니다.

요청과 응답을 어떻게 구별하나요?

첫 줄을 읽습니다. HTTP/x.x 뒤에 상태 코드가 오면 응답, 메서드(GET, POST 등) + 경로 + HTTP/x.x이면 요청입니다. 둘 다 일치하지 않으면 헤더 전용으로 간주하고 모든 줄을 헤더로 파싱합니다.

어떤 보안 헤더를 점검하나요?

Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, Set-Cookie 플래그, Cross-Origin-* 계열, CORS Allow-Origin / Allow-Credentials 조합의 존재 여부와 구성을 검사합니다.

중복 헤더와 접힌 줄은 어떻게 처리하나요?

동명 중복 헤더는 분류 보기에서 별도 항목으로 유지되고, JSON 보기에서는 순서를 보존한 배열로 합쳐집니다. HTTP/1.1 obs-fold(공백으로 시작하는 줄)는 RFC 7230에 따라 직전 헤더에 병합됩니다.

분석 결과를 내보낼 수 있나요?

JSON 복사로 정규화된 객체를 얻을 수 있습니다. 단일 값 헤더는 문자열, 중복 헤더는 순서를 보존한 배열로 저장됩니다. 상태 줄은 _status 키로 포함됩니다.