Replies: 2 comments
0. Stateful과 Stateless이란?둘의 차이의 핵심은 서버가 이전 요청의 상태를 기억하고 있느냐 이다. [ Stateful ] : 서버가 클라이언트의 이전 상태를 기억하는 방식 즉, 서버가 상태(State)를 가지고 있다.
[ Stateless ] : 서버가 이전 요청의 상태를 저장하지 않는 방식 예를 들어 JWT 인증에서는: 서버가 "이 사용자가 이전에 로그인했었다"라는 상태를 별도로 저장하지 않아도 된다.
1. 쿠키와 세션의 차이점을 설명해주세요.쿠키는 클라이언트에 데이터를 저장하고, 세션은 서버에 사용자 상태를 저장한다는 점이 가장 큰 차이이다.
세션의 동작 과정에서 예를 들어 로그인한다고 하면: 즉, 브라우저가 실제 사용자 정보를 가지고 있는 것이 아니라 Session ID를 가지고 있고, 실제 세션 데이터는 서버에 있다. [ 꼬리질문: 세션 방식에서도 쿠키를 사용하는 이유는? ] Session ID를 클라이언트가 계속 유지하고 서버에 전달하기 위해서이다. HTTP는 기본적으로 Stateless하기 때문에 서버는 각각의 요청이 같은 사용자의 요청인지 자동으로 알 수 없다. 따라서: 하는 방식으로 HTTP의 Stateless한 특성을 보완한다.
2. 쿠키와 세션 중 보안성이 더 높은 것은 무엇인가요?일반적으로 민감한 인증 상태를 직접 저장한다면 세션 방식이 더 안전하게 설계하기 쉽다. 하지만 쿠키와 세션 자체를 단순히 비교해서 어느 하나가 무조건 더 안전하다고 할 수는 없다. 실제 보안성은 보안 요소 별 방어하는 대표적인 위협
[ HttpOnly ] JavaScript에서 해당 쿠키에 접근할 수 없도록 한다. 따라서 공격자가 XSS를 통해 실행한 JavaScript로 인증 쿠키를 직접 탈취하는 것을 어렵게 만든다. 로 HttpOnly 쿠키를 읽을 수 있다. [ Secure ] HTTPS 연결에서만 쿠키를 전송하도록 한다. 따라서 HTTP와 같은 암호화되지 않은 통신 구간에서 쿠키가 노출되는 위험을 줄인다. [ SameSite ] 다른 사이트에서 발생한 요청에 쿠키를 얼마나 전송할지를 제한한다. 특히 CSRF(Cross-Site Request Forgery) 공격을 방어하는 데 중요한 역할을 한다. [ 꼬리질문: 쿠키에 HttpOnly와 Secure 속성을 설정하면 어떤 공격을 방어할 수 있나요? ] HttpOnly는 JavaScript의 쿠키 접근을 막아 XSS를 통한 세션 쿠키 탈취를 어렵게 하고, Secure는 HTTPS에서만 쿠키가 전송되도록 해서 네트워크 상에서 쿠키가 평문으로 노출되는 것을 방지한다. 다만 HttpOnly가 XSS 자체를 막는 것은 아니고, Secure 역시 HTTPS 자체를 활성화하는 것은 아니다. 그리고 3. JWT(JSON Web Token)와 세션 기반 인증은 어떻게 다른가요?가장 중요한 차이는 인증 상태를 서버에서 관리하느냐이다.
[ 세션 기반 인증 ] 서버가 상태를 가지고 있기 때문에 로그아웃할 때: [ JWT 기반 인증 ] JWT에는 일반적으로 다음과 같은 정보들이 들어간다. 예를 들어 Payload에: 같은 정보가 들어갈 수 있다. 서버는 JWT의 서명과 만료 시간 등을 검증하여 유효성을 판단한다. 즉, 처럼 동작할 수 있다. 세션 방식에서는 서버가 세션 상태를 관리해야 한다. 서버가 여러 대라면: 처럼 세션 공유 문제를 고려해야 한다. 반면 JWT는 서버가 별도의 세션 상태를 저장하지 않는 구조라면: 각 서버가 JWT를 독립적으로 검증할 수 있다. 따라서 Stateless한 JWT 인증은 수평 확장에 유리하다. [ 꼬리질문: JWT를 사용하면 서버에서 로그아웃을 즉시 처리하기 어려운 이유는 무엇인가요? ] 이 부분이 JWT의 핵심적인 단점이다. JWT를 발급한 후 서버가 JWT 자체를 저장하지 않는다면: 예를 들어 JWT의 만료 시간이 1시간이라면, 사용자가 로그아웃하더라도 서버 입장에서는 그 JWT가 아직 유효한 토큰인지 구분하기 어렵다. 즉시 폐기가 필요하다면? 대표적으로 다음과 같은 방법이 있다.
다만 이렇게 서버가 JWT의 상태를 관리하기 시작하면 JWT의 Stateless라는 장점이 일부 감소하게 된다. |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
🗓️ 2026년 8월 17일 월요일
💡오늘의 질문?
1. 쿠키와 세션의 차이점을 설명해 주세요.
핵심 키워드와 꼬리 질문
핵심 키워드: 클라이언트 저장, 서버 저장, 세션 ID, 만료 시간꼬리 질문: 세션 방식에서도 쿠키를 사용하는 이유는 무엇인가요?
2. 쿠키와 세션 중 보안성이 더 높은 것은 무엇인가요?
핵심 키워드와 꼬리 질문
핵심 키워드: XSS, 세션 하이재킹, HttpOnly, Secure, SameSite꼬리 질문: 쿠키에 HttpOnly와 Secure 속성을 설정하면 어떤 공격을 방어할 수 있나요?
3. JWT(JSON Web Token)와 세션 기반 인증은 어떻게 다른가요?
핵심 키워드와 꼬리 질문
핵심 키워드: Stateful, Stateless, 서버 저장 공간, 확장성, 토큰 폐기꼬리 질문: JWT를 사용하면 서버에서 로그아웃을 즉시 처리하기 어려운 이유는 무엇인가요?
참고해도 좋을 듯한 블로그 : https://velog.io/@gloom/%EC%BF%A0%ED%82%A4-%EC%99%80-%EC%84%B8%EC%85%98%EA%B7%B8%EB%A6%AC%EA%B3%A0%ED%86%A0%ED%81%B0JWT
All reactions