1. 쿠키와 세션을 사용하는 이유
웹은 기본적으로 HTTP 프로토콜을 사용하며, 이 프로토콜은 상태를 유지하지 않는 무상태(stateless) 특성을 가지고 있다. 즉, 서버와 클라이언트간의 통신에서 이전에 주고받은 정보를 저장하지 않아 사용자의 상태 정보를 기억할 수 없다. 이 때문에 사용자 인증, 개인화된 설정 등 상태 정보를 기억하기 위해서 쿠키와 세션을 사용한다.
2. 쿠키란?
쿠키는 클라이언트(웹 브라우저)에 저장되는 작은 텍스트 파일이다. 쿠키는 이름, 값, 만료날짜, 도메인 등의 정보를 저장하며, 사용자가 웹 사이트를 찾아올 때마다 추가 정보를 함께 전달하게 됩니다. 쿠키는 주로 사용자의 선호도, 로그인 정보 등 웹 사이트의 이용 정보를 저장하는 데 사용됩니다.
3. 세션이란?
세션은 서버에서 생성되어 관리되는 사용자의 상태 정보입니다. 세션에는 사용자 ID, 인증체크, 접속 시간 등 사용자에 관한 다양한 정보를 저장할 수 있습니다. 세션은 클라이언트가 서버와 통신하는 동안만 유지되며, 웹 브라우저를 종료하거나, 세션 유효기간이 만료될 경우 삭제됩니다.
4. 쿠키와 세션의 차이점
- 저장 위치
: 쿠키는 클라이언트측(웹 브라우저)에 저장되고, 세션은 서버측에서 저장 및 관리된다.
- 보안
: 쿠키는 클라이언트측에서 저장되기 때문에 보안성이 세션보다 다소 낮다. 사용자가 쿠키의 내용을 쉽게 수정할 수 있고, 중간자 공격에 취약하다.
- 저장 용량
: 쿠키는 클라이언트측에서 제한된 저장 공간을 사용하므로 대용량 정보를 저장하기 어렵다. 세션은 서버측에서 저장되므로 상대적으로 용량에 대한 제한이 적다.
- 유효 기간
: 쿠키에는 설정된 만료 날짜가 있어 그 시간 동안만 정보를 저장할 수 있다. 세션은 서버와 브라우저 간의 연결이 유지되는 동안 지속된다.
차이점 | 쿠키 | 세션 |
저장 위치 | 클라이언트 | 서버 |
보안 | 낮음 | 높음 |
저장 용량 | 적음 | 많음 |
유효 기간 | 만료날짜 있음 | 서버-클라이언트 연결동안 지속 |
'CS | 기술면접대비' 카테고리의 다른 글
★★ CSS(Cascading Style Sheets) 적용 우선순위 (0) | 2023.07.11 |
---|---|
★ 반응형 웹의 3요소, 반응형 웹/적응형 웹 (0) | 2023.07.05 |
#11 HTTP의 비연결성 | Promise (0) | 2023.06.29 |
#10 쿠키와 세션의 차이 | async/await (0) | 2023.06.28 |
#9 프록시 서버의 기능 | 콜백 함수 (0) | 2023.06.27 |