cookiesessionjwt

cookie, session, token의 차이를 설명해 주세요

면접 출제
예상 시간
7
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

cookie는 왜 자동으로 요청에 포함되나요?

부가 설명

Set-Cookie: sid=abc123; HttpOnly; Secure; SameSite=Lax

server가 session id를 cookie로 내려주면 browser는 조건에 맞는 요청에 cookie를 자동으로 포함할 수 있습니다.

Authorization: Bearer eyJhbGciOi...

반면 token 방식은 client가 header에 직접 넣어 보내는 경우가 많습니다.

cookie와 token은 서로 배타적인 개념이 아닙니다. token을 cookie에 저장할 수도 있고, session id도 cookie에 저장할 수 있습니다. Cookie는 저장/전송 수단이고, session/token은 인증 상태를 표현하고 검증하는 방식입니다.

보안 관점에서는 XSS, CSRF, token 만료, refresh token 저장 위치 같은 질문으로 이어질 수 있습니다.

한 줄 정리

cookie는 저장/전송 수단이고, session과 token은 인증 상태를 유지하고 검증하는 방식에 가깝습니다.