쿠키 파서
| 이름 * | 값 | - 연혁 |
|---|---|---|
| 위로 파기 후에 해결책 | ||
Netscape 파일은 Curl이 될 수 있습니다.-buse;no 도메인은 placeholder 도메인에 의해 대체되었습니다.
로그인, API, 브라우저 디버깅 중 Cookie 요청 헤더와 Set-Cookie 응답 헤더를 한 페이지에서 함께 이해할 수 있습니다.
관련 추천
쿠키 파서란 무엇인가요?
쿠키 파서는 브라우저, 프론트엔드 코드, API 도구, 서버 응답에서 가져온 쿠키 텍스트를 구조화된 결과로 바꿔 줍니다. 이론 설명보다도 실제 디버깅 질문에 답하는 데 초점을 둡니다. 예를 들어 요청이 실제로 어떤 쿠키를 보냈는지, Set-Cookie 에 어떤 속성이 있는지, 브라우저가 왜 쿠키를 거부했는지, 결과를 스크립트나 CLI 도구에서 어떻게 재사용할 수 있는지가 핵심입니다.
document.cookie, Cookie 요청 헤더, Set-Cookie 응답 헤더를 같은 입력 형식으로 보는 것은 흔한 실수입니다. document.cookie 와 요청 쿠키는 평평한 name=value 쌍이고, Set-Cookie 는 SameSite, Path, Domain, Expires, Max-Age, HttpOnly, Secure 같은 속성을 가진 서버 응답 헤더입니다.
이 페이지는 입력된 쿠키 텍스트의 종류를 아직 모를 때, 혹은 요청이 보낸 것과 서버가 돌려준 것을 함께 비교해야 할 때 유용한 공통 진입점입니다.
단순히 split(;) 만 하는 도구와 달리 원본 값을 유지하고, 디코딩 결과를 보여 주며, 속성을 구조화해서 표시하고, JSON 과 Netscape Cookie File 로 내보내며, 중복 쿠키를 중요한 단서로 그대로 남겨 둡니다.
요청 헤더 중심의 흐름이 필요하면 HTTP Cookie Parser 를, 브라우저가 쿠키를 거부한 이유나 Set-Cookie 속성 문제를 깊게 보고 싶다면 Set-Cookie Parser 를 사용하는 것이 좋습니다.
사용 사례
- DevTools 나 로그의 document.cookie 문자열을 빠르게 개별 쿠키 항목으로 분해하기
- Network 패널의 여러 줄 Set-Cookie 를 붙여 넣어 브라우저가 쿠키를 거부한 이유 확인하기
- 로그인 상태 손실, cross-site 요청에서 빠지는 쿠키, 중복 이름 충돌 조사하기
- URL 인코딩된 쿠키 값을 읽기 쉬운 텍스트로 복원하기
- 파싱 결과를 JSON 으로 바꿔 스크립트, issue, 문서, 테스트 케이스에 활용하기
- curl, 크롤러, import 기반 도구용 Netscape Cookie File 만들기
- frontend, QA, ops, crawler 디버깅에서 공용 쿠키 triage 페이지로 사용하기
이용 방법
- 먼저 source 를 확인하세요. document.cookie, request header, log 라면 Cookie 문자열 모드, response header 라면 Set-Cookie 모드를 선택합니다.
- 원본 쿠키 텍스트를 입력 영역에 붙여 넣으면 이름, 값, 속성이 자동으로 분리됩니다.
- URL 디코딩 값을 켜고 중요한 필드를 필터링하며, 필요하면 중복 이름 경고와 속성 표를 확인합니다.
- 정규화된 텍스트를 복사하거나 JSON / Netscape Cookie File 로 내보내 다음 디버깅 단계에 사용합니다.
주요 기능
- document.cookie / Cookie 요청 헤더와 여러 줄 Set-Cookie 응답 헤더를 위한 이중 모드 파싱
- 원본 값, URL 디코딩 값, SameSite / Secure / HttpOnly / Path / Domain / Expires / Max-Age 필드를 포함한 이름·값·속성 자동 분해
- Path 충돌, scope 겹침, 불안정한 세션 동작을 찾는 데 도움이 되는 중복 이름 경고
- 스크립트, API 디버깅, 재현 가능한 버그 리포트에 적합한 구조화 JSON 내보내기
- curl 및 크롤러 툴체인을 위한 Netscape Cookie File 생성
- Session, Token, 로그인 쿠키가 외부로 나가지 않도록 하는 로컬 처리
- 요청 측과 응답 측 쿠키 디버깅을 명확히 나눠 주는 범용 진입점
쿠키 분석 도구는 어떻게 선택하나요?
이 페이지는 범용 진입점으로 좋지만, 입력 유형을 이미 알고 있다면 전용 도구가 더 빠릅니다.
| 도구 | 적합한 입력 | 적합한 용도 | 핵심 강점 |
|---|---|---|---|
| 쿠키 파서 (현재 페이지) | Cookie 문자열, document.cookie, 여러 줄 Set-Cookie | 입력 유형이 아직 확실하지 않거나 요청/응답 쿠키를 한곳에서 보고 싶을 때 | 이중 모드, JSON / Netscape 내보내기, 실용적인 중앙 디버깅 허브 |
| HTTP Cookie Parser | Cookie 요청 헤더와 document.cookie 형태의 문자열 | 요청이 실제로 어떤 쿠키를 보냈는지, 이름이 중복되는지, 값이 URL 인코딩되었는지 확인할 때 | 요청 측 name/value 분석에 더 집중HTTP Cookie Parser 열기 |
| Set-Cookie Parser | 서버가 반환한 Set-Cookie 응답 헤더 | 브라우저가 쿠키를 왜 거부했는지와 SameSite / Secure / HttpOnly 문제가 있는지 확인할 때 | 보안 속성과 브라우저 정책을 더 깊게 분석Set-Cookie Parser 열기 |
Best Practices
먼저 request header 인지 response header 인지 구분하세요
텍스트가 frontend code, document.cookie, request log, curl header 에서 왔다면 Cookie 문자열 모드로 시작하세요. Response Headers 에서 왔다면 Set-Cookie 모드로 전환하세요.
HTTP Cookie ParserSet-Cookie Parser디코딩된 값을 보더라도 원본 값을 잃지 마세요
많은 쿠키 값이 URL 인코딩되어 있습니다. 디버깅 중에는 원본 값과 디코딩 값을 모두 볼 수 있어야 안전합니다.
중복 이름이 보이면 먼저 Path 와 Domain 을 확인하세요
중복 쿠키는 다른 path, 다른 domain, 이전 쓰기 잔재를 의미할 수 있습니다. 자동 중복 제거는 실제 원인을 숨길 수 있습니다.
다음 단계에 맞는 내보내기 형식을 선택하세요
문서, issue, 스크립트에 붙여 넣을 용도라면 JSON 이 더 읽기 쉽습니다. curl, 크롤러, 쿠키 파일 import 도구에 넘길 거라면 Netscape Cookie File 을 선택하세요.
curl → 코드자주 묻는 질문
이 쿠키 파서는 어떤 입력 형식을 지원하나요?
document.cookie 또는 Cookie: 요청 헤더처럼 name=value; name2=value2 형태의 평평한 문자열과, 브라우저 Network 패널에서 복사한 여러 줄의 Set-Cookie 응답 헤더를 지원합니다. 전자는 실제 요청에 어떤 쿠키가 실렸는지 보는 데 적합하고, 후자는 SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age 같은 속성 점검에 적합합니다.
Cookie 요청 헤더와 Set-Cookie 응답 헤더의 차이는 무엇인가요?
Cookie 요청 헤더는 브라우저가 서버로 보내는 평평한 key-value 목록이며 속성 메타데이터를 포함하지 않습니다. Set-Cookie 는 서버가 브라우저로 돌려주는 응답 헤더로, 각 줄이 하나의 쿠키 설정을 나타내며 이름과 값 외에도 Path, Domain, Expires, SameSite, Secure, HttpOnly 같은 속성을 포함할 수 있습니다.
쿠키 값이 깨져 보이는 이유는 무엇인가요?
많은 쿠키 값이 URL 인코딩되어 있기 때문입니다. 예를 들어 %3D 는 =, %2F 는 / 를 뜻합니다. 이 도구는 원본 값을 유지하면서 디코딩 결과도 함께 보여 줍니다.
같은 쿠키 이름이 중복되어 보이는 이유는 무엇인가요?
서로 다른 Path, 서로 다른 Domain, 또는 디버깅 중 반복 저장 때문에 중복 이름이 생길 수 있습니다. 이런 중복 자체가 중요한 단서가 될 수 있으므로 도구는 자동으로 제거하지 않고 경고로 표시합니다.
JSON 내보내기와 Netscape 내보내기는 언제 써야 하나요?
JSON 은 스크립트, 테스트 케이스, API 문서, 로그 분석에 더 적합합니다. Netscape Cookie File 은 curl -b 처럼 해당 형식을 지원하는 도구나 명령줄 흐름에서 쿠키를 재사용할 때 더 적합합니다.
로그인 상태가 사라지는 문제를 조사할 때도 쓸 수 있나요?
네. 먼저 Cookie 모드에서 요청이 실제로 어떤 쿠키를 보냈는지 보고, 이후 Set-Cookie 모드로 전환해 서버 속성 설정에 문제가 없는지 확인할 수 있습니다.
요청 쿠키만 보고 싶다면 왜 이 통합 파서를 써야 하나요?
document.cookie 와 Set-Cookie 를 모두 볼 가능성이 있고 하나의 진입점이 필요할 때 유용합니다. 요청 쿠키만 필요하다면 HTTP Cookie Parser 가 더 집중된 도구입니다.
여기에 붙여 넣은 Session, Token, 로그인 쿠키가 서버로 업로드되나요?
아니요. 쿠키 파싱, URL 디코딩, JSON 미리보기, Netscape 텍스트 생성은 모두 브라우저 안에서 로컬로 실행됩니다.
Set-Cookie 안의 SameSite, Secure, HttpOnly 를 자동으로 인식하나요?
네. 각 Set-Cookie 줄을 파싱해서 SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned 같은 구조화된 필드를 보여 줍니다.
분석 결과를 curl 이나 스크립트에서 바로 재사용할 수 있나요?
네. 요청 헤더 모드에서는 정규화된 Cookie 내용을 복사할 수 있고, JSON 과 Netscape Cookie File 로도 내보낼 수 있습니다.
용어집
- Cookie 요청 헤더
- 브라우저가 HTTP 요청에 자동으로 포함하는 name-value 쌍 모음으로, 보통 name1=value1; name2=value2 형태입니다. 현재 요청에 실제로 실리는 값만 포함하며 Path, Domain, HttpOnly, SameSite 같은 속성은 포함하지 않습니다.HTTP Cookie Parser
- Set-Cookie 응답 헤더
- 서버가 쿠키를 설정할 때 사용하는 HTTP 응답 헤더입니다. 보통 한 줄이 하나의 쿠키를 나타내며 name=value 외에 Path, Domain, Expires, Max-Age, SameSite, Secure, HttpOnly 같은 속성을 포함할 수 있습니다.Set-Cookie Parser
- document.cookie
- 프론트엔드 스크립트가 읽을 수 있는 쿠키 문자열 인터페이스입니다. 보통 세미콜론으로 구분된 여러 name=value 쌍으로 보입니다. HttpOnly 쿠키나 전체 Set-Cookie 속성 정보는 포함하지 않습니다.
- SameSite
- 쿠키가 cross-site 요청에서 전송될지 여부를 제어하는 속성입니다. 일반적인 값은 Strict, Lax, None 입니다.
- HttpOnly
- Set-Cookie 의 보안 속성입니다. 이 속성이 있으면 프론트엔드 JavaScript 가 document.cookie 로 해당 쿠키를 읽을 수 없습니다.
- Secure
- Set-Cookie 의 보안 속성입니다. 이 속성이 있으면 쿠키는 HTTPS 연결에서만 전송되며 localhost 는 로컬 예외입니다.
- Netscape Cookie File
- 오래된 형식이지만 지금도 많은 CLI 도구, 크롤러, import 스크립트가 지원하는 쿠키용 텍스트 파일 형식입니다.
- URL 인코딩된 쿠키 값
- 특수 문자를 %2F, %3D 같은 percent-encoding 으로 표현한 쿠키 값입니다. 디버깅 중에는 원본 값과 디코딩 값을 함께 비교하는 것이 좋습니다.URL Encode 도구
- 중복된 쿠키 이름
- 같은 요청 안에서 동일한 쿠키 이름이 여러 번 나타나는 것으로, 서로 다른 Path, 서로 다른 Domain, 과거 쓰기 잔재 등이 원인일 수 있습니다.
자주 쓰이는 3가지 쿠키 입력 형태 빠른 안내
많은 디버깅 문제는 파싱 전에 입력 형식을 잘못 판단하면서 시작됩니다.
| 입력 유형 | 대표 예시 | 포함 내용 | 더 적합한 도구 |
|---|---|---|---|
| document.cookie / Cookie 요청 헤더 | session=abc; theme=dark; lang=zh-CN | 속성 없는 평평한 name=value 쌍만 포함 | 이 페이지의 Cookie 문자열 모드 또는 HTTP Cookie Parser |
| Set-Cookie 응답 헤더 | session=abc; Path=/; HttpOnly; Secure; SameSite=Lax | name=value 와 함께 보안 및 수명 속성 포함 | 이 페이지의 Set-Cookie 모드 또는 Set-Cookie Parser |
| Netscape Cookie File | .example.com TRUE / FALSE 0 sid abc123 | Domain, path, secure 플래그, 만료 시각, name, value | 이 페이지에서 생성해 curl 과 스크립트에 재사용 가능 |
자주 발생하는 쿠키 디버깅 문제 표
쿠키 문제를 볼 때는 먼저 요청에 아예 실리지 않은 것인지, 브라우저가 거부한 것인지 나누는 것이 중요합니다.
| 증상 | 가능성 높은 원인 | 먼저 확인할 것 |
|---|---|---|
| 대상 쿠키가 요청에 전혀 보이지 않음 | 쿠키가 올바르게 저장되지 않았거나 Path / Domain scope 가 맞지 않음 | 먼저 Set-Cookie 모드를, 그다음 요청 헤더 모드를 확인 |
| cross-site 요청에서 쿠키가 전송되지 않음 | SameSite 제한, Secure 누락, third-party cookie 정책 | 먼저 SameSite=None 과 Secure 가 함께 있는지 확인 |
| 쿠키 값이 읽기 어렵게 보임 | URL 인코딩되었거나 Base64 / JWT 로 한번 더 감싸져 있음 | 디코딩 보기부터 열고 필요하면 JWT / Base64 를 계속 확인 |
| 같은 이름의 쿠키가 불안정하게 동작함 | 서로 다른 Path 또는 Domain 아래 여러 번 기록됨 | 중복을 남겨 둔 채 scope 와 기록 출처를 비교 |
| curl 이나 스크립트에서 브라우저 쿠키를 바로 재사용할 수 없음 | 표준화된 내보내기 형식이 없음 | JSON 또는 Netscape Cookie File 내보내기로 전환 |
Privacy & Security
쿠키 파싱, URL 디코딩, JSON 미리보기, Netscape 텍스트 생성은 모두 브라우저 안에서 로컬로 수행됩니다. Session, Token, 로그인 쿠키, 복사한 헤더가 서버로 업로드되지는 않습니다.
- 색맹 시뮬레이터
- 색상 변환기
- .htaccess를 Nginx로 변환하는 도구
- SQL 변환기
- 쿠키 파서
- Cron 표현식 생성기
- Cron 표현식 검증기
- CSS 포맷터
- CSS 압축
- CSV를 Excel로 변환
- 통화 변환기
- 텍스트 비교 도구
- 파비콘 생성기
- XML 포맷터
- 16진수 변환기
- HTML 포맷터
- HTML 압축
- HTML을 Markdown으로 변환
- Markdown을 HTML로 변환
- JavaScript 포맷터
- JS 압축
- JSX 포맷터
- JSX 압축
- 키워드 클러스터링
- Lorem Ipsum 생성기
- Markdown 테이블 생성기
- Meta Tag 생성기
- 비밀번호 생성기
- 비밀번호 강도 검사기
- QR 코드 & 바코드 생성기
- 정규식 테스터
- Slug 생성기
- SQL 생성기
- SQL 포맷터
- 글자수 세기
- 시간 도구
- TS 포맷터
- TS 압축
- TSX 포맷터
- TSX 압축
- Unix 타임스탬프 변환
- UUID 생성기
- YAML 포맷터
- 대소문자 변환기