클라이언트(웹 브라우저)
컴퓨터에 저장하는 작은 데이터 파일
(최대 크기 4KB) 쿠키 이름과 값을 반환
합니다.도메인에서만
읽을 수 있습니다. (최대 20개)HTTP는 Stateless
(상태를 유지하지 않음)하기 때문에쿠키를 사용하면 사용자 컴퓨터에 저장된 작은 파일을 사용하여 응용 프로그램의 상태를 추적할 수 있습니다.쿠키가 저장된 경로는 브라우저에 따라 다릅니다.
요청
쿠키를 생성
쿠키를 포함
시켜 응답클라이언트에서 보관
하고 있음헤더에 쿠키를 함께 보냄
변경된 쿠키를 HTTP 헤더에 포함
시켜 응답서버에 저장
된 전역 변수고유한 ID가 할당
컴퓨터에 저장
되고 모든 요청과 함께 서버에 반환됩니다.큰 데이터를 저장
할 수 있음세션 값이 자동으로 삭제됨
세션 ID를 발급
받는다.쿠키를 사용해서 저장
하고 가지고 있는다.세션 ID를 서버에 전달
해서 사용한다.세션에 있는 클라이언트 정보를 가져온다
.서버 요청을 처리하여 클라이언트에게 응답
합니다.사용자 ID와 같은 중요한 정보를 보다 안전하게 저장
합니다.다른 페이지로 값을 전달
하는 데 사용됩니다.쿠키를 대체하고 전역 변수를 URL에 전달하는 것보다 효율적이고 안전한 방식
으로 저장구분 | 쿠키(Cookie) | 세션(Session) |
---|---|---|
저장 위치 | 사용자 정보를 포함하는 클라이언트 측 파일(로컬) | 사용자 정보를 포함하는 서버 측 파일 |
라이프 사이클 | 설정 한 수명(만료 시간)에 따라 종료 | 브라우저 닫으면 소멸 |
저장 크기 | 공식 최대 쿠키 크기는 4KB | 세션 내에서 원하는 만큼의 데이터를 저장할 수 있다. 도달할 수 있는 유일한 제한은 스크립트가 한 번에 소비할 수 있는 최대 메모리(기본적으로 128MB)입니다. |
보안 | 로컬에 저장되기 때문에 변질되거나 request에서 스니핑 당할 우려가 있음 | 서버에서 처리돼며, 쿠키를 이용해 sessionid 만 저장하고 구분되므로, 비교적 보안성이 좋음 |
처리 속도 | 서버의 자원들 사용하지 않고 쿠키에 정보가 남아 있으므로 요청시 처리 속도가 빠름 | 서버의 자원을 사용하므로 쿠키에 비해 느린 속도를 냄 |
=> 세션을 무분별하게 사용하면 서버의 메모리가 감당할 수 없어질 수 있고 속도가 느려진다.
Reference