HTTP 및 요청 디버깅

HTTP 헤더 파서같은 이름도 빠짐없이

헤더 블록 하나를 붙여 넣고 값, 매개변수, 중복 항목을 확인하세요. 요청과 응답 예제를 각각 제공합니다.

HTTP 헤더 파서

HTTP 헤더 원문

입력은 이 브라우저에서 처리합니다. 요청을 보내거나 기록을 저장하지 않습니다.

분석 결과

요청 줄 / 상태 줄

GET /reports HTTP/1.1

Host

2번째 줄
example.com

Accept

3번째 줄
application/json, text/html;q=0.8, */*;q=0.1
매개변수 상세
  • application/json가중치 (q): 1
  • text/html가중치 (q): 0.8
  • */*가중치 (q): 0.1

Accept-Language

4번째 줄
en, ja;q=0.8, *;q=0
매개변수 상세
  • en가중치 (q): 1
  • ja가중치 (q): 0.8
  • *가중치 (q): 0

Authorization

5번째 줄가림
[REDACTED]

X-Trace

6번째 줄중복
first

x-trace

7번째 줄중복
second

옵션

결과와 내보내기의 Authorization, Proxy-Authorization, Cookie, Set-Cookie를 가립니다. 입력 원문, 사용자 정의 키, URL 속 비밀 값은 가리지 않습니다.

텍스트 블록 하나, UTF-8 128 KiB 및 필드 1000개까지. 첫 빈 줄에서 헤더가 끝납니다.

필드 6개 · 중복 항목 2개 · 참고 0개

HTTP 헤더 파서로 캡처한 요청을 정리할 때는 이름이 같은 필드도 조사 자료로 남겨 두는 편이 좋습니다. 프록시가 두 번째 값을 추가했는데 마지막 값만 저장하면, 동작이 달라진 원인을 찾기 어려워집니다.

헤더 파싱 결과에는 입력 순서 목록과 이름별 배열이 함께 들어갑니다. HTTP 응답 헤더를 줄 번호로 추적하거나 스크립트에서 특정 이름의 모든 값을 가져올 때 같은 보고서를 사용할 수 있습니다.

HTTP 헤더 파서로 캡처를 더 정확하게 읽기

중복 값을 하나로 합치지 않기

HTTP 헤더 파서는 Set-Cookie가 두 줄이면 각각 별도의 항목으로 남깁니다. Expires 날짜의 쉼표도 값 안에 그대로 둡니다. 이름의 대소문자가 달라도 중복으로 인식하므로 중간 서버가 추가한 필드를 놓치지 않습니다.

같은 이름의 두 필드가 순서 목록과 그룹 안에서 서로 다른 색의 값으로 각각 유지되는 모습.

따옴표 안의 구분자 이해하기

Content-Disposition의 파일명 안에 있는 세미콜론은 다음 매개변수의 시작이 아닙니다. 원문 옆에서 펼친 매개변수와 디코딩한 이름을 확인하세요. Accept 계열도 입력한 순서대로 항목과 가중치를 보여 줍니다.

복잡한 필드 하나가 파일명 카드와 여러 매개변수 카드로 나뉘는 모습.

기록을 바꾸기 전에 확인할 것

01

요청과 응답 예제를 구분하기

요청 예제에는 Accept, 언어 가중치, 가상 토큰이 있습니다. 응답 예제에는 확장 파일명과 두 쿠키가 있습니다. 예제를 적용하거나 비울 때 문자 수와 바뀔 내용을 먼저 확인하며, 실행 취소는 이전 결과도 함께 복원합니다.

02

갱신 시점 선택하기

자동 모드는 마지막 수정 후 350밀리초를 기다립니다. 끄면 분석 버튼이 나타나고 Ctrl/Cmd+Enter로도 실행할 수 있습니다. 입력이나 이름 표기를 바꾸면 결과가 오래된 것으로 표시되어 새 분석이 성공하기 전까지 내보내기가 비활성화됩니다.

03

공유할 값 확인하기

가리기는 기본으로 켜져 있습니다. 해제하면 네 가지 보호 대상 필드의 실제 값이 두 보기와 JSON 파일에 나타납니다. 50개 더 보기는 미리 보기만 늘리며 복사와 다운로드에는 전체 보고서가 들어갑니다.

필드와 내부 매개변수 살펴보기

순서 목록과 이름별 배열

entries는 원래 줄 번호와 이름, 표시 이름, 값을 입력 순서로 기록합니다. grouped는 처음 표시된 이름을 키로 쓰고 항상 배열을 저장합니다. 한 번 나온 필드도 배열이므로 후속 스크립트에서 값의 자료형을 따로 판단할 필요가 없습니다.

확장 파일명 확인

Content-Disposition의 종류와 모든 매개변수를 보여 줍니다. 유효한 filename*이 filename보다 우선하며 UTF-8과 ISO-8859-1을 디코딩합니다. 중복 매개변수나 지원하지 않는 인코딩에는 참고 메시지를 붙여 모호한 이름을 확정하지 않습니다.

협상 결과 대신 선언된 가중치

Accept의 미디어 범위와 Accept-Language의 언어 범위를 원래 순서로 유지합니다. q가 없으면 1이고 q=0도 남습니다. 잘못된 가중치는 상세 결과에서 null로 나타나며 원래 값을 확인할 수 있습니다. 후보를 정렬하거나 서버의 최종 선택을 예측하지 않습니다.

원래 위치를 가리키는 오류

콜론 누락, 잘못된 필드 이름, 제어 문자와 오래된 접힌 줄은 위치를 표시하고 분석을 중단합니다. 세 가지 전용 필드 내부의 매개변수 문제는 원문을 유지한 채 참고로 표시합니다. 헤더 블록의 문법 오류를 일부 성공한 결과처럼 내보내지 않습니다.

지원 범위와 해석의 한계

텍스트 헤더 하나씩 처리
시작 줄이나 필드 뒤 첫 빈 줄이 경계이며 이후 본문은 무시합니다. 여러 응답은 따로 붙여 넣으세요. 전체 cURL 명령, 로그 접두사, HAR, 바이너리 프레임은 지원하지 않습니다. :method: GET 같은 텍스트 의사 헤더는 받을 수 있습니다.
프로토콜의 유효성을 보장하지 않음
이름 표시는 읽기 편의를 위한 옵션입니다. 인증 정보나 CORS, CSP, 캐시의 정확성을 검사하지 않으며 JSON으로 요청을 재생하지도 않습니다. 서버가 반환할 표현이나 실제 첨부 파일을 가져오는 기능은 없고 제안된 파일명을 보고서 저장 이름으로 사용하지 않습니다.
입력 제한과 마스크 범위
전체 입력은 UTF-8 128 KiB, 헤더는 1000필드까지입니다. 초과하면 오류를 내고 데이터를 잘라 내지 않습니다. 가리기는 정해진 네 이름에만 적용되므로 사용자 정의 API 키와 요청 주소에 포함된 비밀 값은 공유 전에 따로 확인해야 합니다.

HTTP 헤더 파서 자주 묻는 질문

요청 헤더와 응답 헤더는 어떻게 다른가요?

요청 헤더는 허용할 미디어나 언어, 인증 정보 등을 전달합니다. 응답 헤더는 반환된 콘텐츠, 쿠키, 캐시 속성 등을 설명합니다. 두 예제에서 각각의 용도를 볼 수 있으며 같은 파서로 두 방향을 처리합니다.

헤더 이름의 대소문자가 달라도 되나요?

이름별 그룹화에서는 대소문자를 구분하지 않습니다. Content-Type과 content-type은 같은 그룹에 들어가며 각 항목에는 원래 표기를 별도로 남깁니다. 표시 옵션을 바꾸더라도 값의 대소문자는 변하지 않습니다.

헤더를 분석할 때 다른 서버로 전송하나요?

아니요. 주소에서 헤더를 가져오거나 캡처한 요청을 재실행하는 기능이 없습니다. 브라우저나 HTTP 클라이언트에서 필요한 텍스트를 먼저 확보한 다음 붙여 넣으세요.

한 응답에 Set-Cookie가 여러 줄인 이유는 무엇인가요?

각 줄이 서로 다른 쿠키와 속성을 지정할 수 있기 때문입니다. Expires 안에도 쉼표가 있으므로 여러 줄을 쉼표로 합치면 경계가 모호해집니다. 이 도구는 각각을 독립된 값으로 남깁니다.

헤더가 나타나는 순서를 유지해야 하나요?

특히 같은 이름의 필드가 반복되면 순서가 해석에 영향을 줄 수 있습니다. entries는 전체 순서를, grouped의 배열은 해당 이름의 값 순서를 보존합니다. 자동 정렬이나 중복 제거는 하지 않습니다.

잘못 분석되는 필드가 있나요?

다음 캡처 살펴보기

HTTP 헤더 파서로 캡처 하나를 확인하고 매개변수 참고 사항을 읽은 뒤, 현재 JSON 보고서를 저장해 다음 디버깅 작업에 사용하세요.