index
쿠키
HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 기록 정보 파일
이름, 값, 만료일, 경로 정보로 구성되어 있다. 하나의 쿠키는 4KB
세션
일정 시간동안 같은 브라우저로부터 들어오는 일련의 요청을 하나의 상태로 보고, 그 상태를 일정하게 유지시키는 기술
즉, 사용자가 웹 서버에 접속해 있는 상태를 하나의 단위로 본다.
쿠키와 세션 비교
저장위치
클라이언트
서버
저장형태
텍스트
객체
저장크기
한 도메인 당 20개, 4KB
제한없음
속도
빠름
느림
보안
낮음
높음
생명주기
종료시 소멸
종료시 소멸
사용예
자동로그인, 팝업창
로그인 정보, 장바구니
리소스
클라이언트 자원 사용
서버 자원 사용
면접 질문
쿠키와 세션을 사용하는 이유
HTTP 프로토콜의 특징이자 약점을 보완하기 위해 사용됩니다.
Connectionless 프로토콜(비연결지향) : 클라이언트가 서버에 요청을 했을 때, 그 요청에 맞는 응답을 보낸 후 연결을 끊는 처리방식입니다.
Stateless 프로토콜(상태정보 유지 안함) : 클라이언트의 상태 정보를 가지지 않는 처리 방식입니다.
실제로는 데이터 유지가 필요한 경우가 있는데 이런 HTTP 프로토콜의 특징은 데이터 유지가 이루어지지 않습니다.. 즉, 클라이언트와 정보 유지를 하기 위해 사용됩니다.
세션을 쓰면 되는데 쿠키를 사용하는 이유?
세션은 쿠키에 비해 보안이 높은 편이나, 서버에 저장되고 서버자원을 사용하기 때문에 사용자가 많을 경우 소모되는 자원이 상당하다.
자원 관리 차원에서 쿠키와 세션을 적절히 병행해서 사용하여, 서버 자원의 낭비를 방지하여 웹사이트의 속도를 높일 수 있다.
Last updated