[면접 준비] 쿠키, 세션의 개념과 차이를 설명해보세요 (24/04/03)
2024. 4. 3. 09:22ㆍ공부/면접 준비
쿠키와 세션
쿠키와 세션은 모두 HTTP의 Connectless와 Stateless를 보장하기 위해 사용되는 기술로 웹에서 사용자의 상태를 유지하고 유저를 식별하기 위해 사용됩니다. 하지만 둘 사이에는 중요한 차이점이 존재합니다.
쿠키
- key-value값으로 구성된 텍스트 파일
- 웹 서버는 사용자가 브라우저에 정보를 저장하도록 지시하고, 브라우저는 그 정보를 클라이언트 컴퓨터에 저장
- 만료 날짜가 존재하며, 만료 날짜가 없는 쿠키는 세션 쿠키로 간주하여 브라우저가 닫힐때 까지 유지
- 사용 목적
- 세션 관리 : 로그인, 사용자 정보, 접속 시간, 장바구니 등 서버가 알아야할 정보 저장
- 개인화 : 사용자 마다 다른 그사람에게 맞는 페이지를 보여준다
- 트래킹 : 사용자의 행동과 패턴을 분석하고 기록
- 단점
- 클라이언트에서 쿠키를 쉽게 확인하고 변조할 수 있다
- 쿠키 자체가 민감한 정보를 담고 있다
세션
- 서버 측에서 사용자를 관리하기 위한 방법이다
- 각 사용자에 대해 서버가 고유한 세션 ID를 생성하고, 이를 쿠키 또는 URL매개변수를 통해 클라이언트에게 전달하여 사용자를 식별한다
- 일정 기간 유지되며, 브라우저를 닫거나 세션이 만료될 때 까지 유지된
- 사용 목적
- 사용자나 다른 누군가에게 노출되면 안되는 보안적으로 중요한 정보들을 서버 안에서 다루기 위해 사용
- 로그인 상태, 장바구니 내역, 사용자 프로필 등 중요 정보를 유지하기 위해 사용
- 단점
- 서버에 저장되기 때문에 세션이 늘어날 경우 서버에 부하가 걸린다
- 세션에 대한 정보가 서버에 있기 때문에 쿠키에 비해 느리다
답변
쿠키와 세션은 모두 HTTP의 Connectless와 Stateless를 보장하기 위해 사용되는 기술로 웹에서 사용자의 상태를 유지하고 유저를 식별하기 위해 사용됩니다. 하지만 둘 사이에는 중요한 차이점이 존재합니다.
쿠키는 클라이언트에 자장되고 세션은 서버에 저장됩니다. 이 때문에 세션은 상대적으로 안전하며 쿠키는 클라이언트에서 탈취되거나 수정되는 등의 보안 위험이 있을 수 있습니다.
마지막으로, 세션은 서버 메모리에 저장되므로 제한된 용량만큼의 데이터를 저장할 수 있지만, 쿠키는 사용자의 하드 드라이브에 저장되므로 더 많은 데이터를 저장할 수 있습니다.
이러한 차이점을 고려하여 쿠키와 세션을 사용하여야 합니다.
'공부 > 면접 준비' 카테고리의 다른 글
[면접준비] http, https 차이점에 대해 설명해주세요 (24/04/04) (0) | 2024.04.04 |
---|---|
[면접 준비] TCP/UDP에 대해서 설명해주세요. (24/04/03) (0) | 2024.04.03 |
[면접 준비] OAuth에 대해서 설명해주세요. (24/04/02) (0) | 2024.04.02 |
[면접 준비] JWT, Refresh, Access Token에 대해서 설명해주세요. (24/04/02) (0) | 2024.04.02 |
[면접 준비] ORM을 사용하면서 쿼리가 복잡해지는 경우에는 어떻게 해결하는게 좋을까요? (24/04/01) (0) | 2024.04.01 |