쿠키&세션 | 둘의 차이점은? | HTTP의 비연결성 및 무상태성 특징을 보완한 기술
HTTP의 비연결성 및 무상태성 특징을 보완한 기술 : 쿠키와 세션
비연결성 : HTT는 요청에 대한 응답을 처리하게 되면 연결을 끊어버림
무상태성 : 연결이 끊기면 이전의 상태 정보 및 현재 통신 상태가 남아있지 않음
쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각
브라우저는 데이터 조각을 저장해 놓았다가, 동일한 서버에 재 요청시 저장된 데이터를 함께 전송.
쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용
결과적으로 사용자의 로그인 상태를 유지할 수 있음 !!
쿠키의 목적 세 가지
1. 세션 관리 : 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보관리
2. 개인화 : 사용자 선호, 테마 등의 세팅
3. 트래킹 : 사용자 행동을 기록하고 분석
사용예시 : 로그인시 팝업창 "아이디와 비밀번호 저장하시겠습니까" | "오늘 이 창을 다시 보지 않기"
HTTP 쿠키에 대해 알고 싶다면 클릭 !
HTTP 쿠키 - HTTP | MDN
HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데
developer.mozilla.org
세션
사용자가 웹브라우저를 통해 웹서버에 접속한 시점부터 웹브라우저를 종료하여 연결을 끝내는 시점까지
사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 유지하는 기술
쉽게 말해서 사용자가 웹서버에 접속해 있는 상태를 세션이라고 함
사용예시 : 화면을 이동해도 로그인이 풀리지 않고 로그아웃하기 전까지 유지
세션에 대해 더 알고 싶다면 클릭 !
Window.sessionStorage - Web API | MDN
sessionStorage 읽기 전용 속성은 현재 출처 세션의 Storage 객체에 접근합니다. sessionStorage는 localStorage와 비슷하지만, localStorage의 데이터는 만료되지 않고, sessionStorage의 데이터는 페이지 세션이 끝날
developer.mozilla.org
- 저장 위치
- 쿠키 - 로컬PC
- 세션 - 서버
- 저장 방식
- 쿠키 - text
- 세션 - object
- 만료 시점(라이프 사이클) :
- 쿠키 - 만료기간이 있지만, 파일로 저장되기 때문에 브라우저를 종료해도 정보 유지 될 수 있음
만료기간 정해도 쿠키 삭제할 때까지 유지 가능 - 세션 - 만료기간 정할 수 있지만, 브라우저가 종료되면 만료기간 상관없이 삭제
- 쿠키 - 만료기간이 있지만, 파일로 저장되기 때문에 브라우저를 종료해도 정보 유지 될 수 있음
- 속도 : 쿠키 > 세션
- 보안 : 쿠키 < 세션
세션이 사용하고 저장하는 서버 자원에 한계가 있고 속도가 느려질 수 있기 때문에 쿠키와 병행 사용함
서버 자원 낭비를 방지하고 웹사이트 속도를 높일 수 있음