hong-brother.log
로그인
hong-brother.log
로그인
쿠키 VS 세션
hsnam
·
2022년 2월 4일
팔로우
0
web
0
web
목록 보기
1/4
쿠키(Cookie)
쿠키란?
쿠키는 클라이언트(브라우저) 로컬에 저장되는 Key-Value로 이루어져 있는 데이터 파일 이다.
쿠키는 사용자 인증이 유효한 시간을 명시 할 수 있으며, 유효 시간이 정해지면
브라우저가 종료되어도 인증이 유지된다는 특징이 있다.
쿠키의 구성요소
쿠키이름
쿠키 값
만료시간
전송할 도메인명
전송할 경로
보안연결여부
HttpOnly 여부
쿠키의 사용 목적
세션관리(Session Management)
- 로그인, 사용자 넥네임, 접속시간, 장바구니 등 정보를 관리한다.
개인화(Personalization)
- 사용자 마다 테마의 환경 설정등 정보들을 관리한다.
트래킹(Tracking)
- 사용자의 행동을 기록하고 분석하고 기록한다.
쿠키의 원리
클라이언트(브라우저)가 서버에 접속하면 서버는 요청해더에(set-cookie: key=value)를 추가하여 응답답한다.
클라이언트(브라우저)는 서버 요청 이후 요청헤더에 추가하여 요청하여 서버와 통신 한다.
쿠키의 장점
서버의 저장 공간을 절약 할 수 있다.
쿠키의 단점
쿠키에 대한 정보를 HTTP 요청할 때마다 헤더에 추가하여 보내야 하기 때문에 트래픽을 발생 시킬수도 있다.
개인정보에 민감한 정보들을 쿠키에 저장하여 사용하였을 경우 유출에 대한 보안문제가 발생 할 수 있다.
세션(Session)
세션이란?
세션은 클라이언트(브라우저)와 웹 서버 간 네트워크 연결이 지속 유지되고 있는 상태를 뜻하며 클라이언트(브라우저)요청에 따른 정보를 클라이언트(브라우저)에 저장하는 것이 아니라 서버에 저장하여 사용자에게 정보가 노출되지 않는다.
세션 사용 목적
로그인 정보 관리
세션의 원리
클라이언트가 서버에 접속하면 서버는 세션ID를 발급한다.
서버는 클라이언트에 응답할때 발급한 세션ID를 쿠키(set-cookie: sessionId)에 저장하여 응답한다.
이후 클라이언트는 서버에 요청할때 마다 쿠키에 저장된 세션ID를 해더에 추가하여 요청하고
서버는 해더의 세션ID를 저정된 세션저장소에 찾아 유효한지 확인 후 요청을 처리 한다.
세션의 장점
각 클라이언트가 서버에 접속하면 세션ID(고유ID)를 부여 한다.
세션ID로 각 클라이언트 마다 권한에 따른 서비스를 제공 할 수 있다.
각 클라이언트 정보가 서버에 저장되기 때문에 쿠키보다 보안에는 안전 하다.
세션의 단점
각 클라이언트 정보가 서버에 저장되기 때문에 서버에 처리되는 부하와 저장 공간을 필요로 할 수 있다.
정리
Cookie
Session
저장위치
클라이언트
서버
용량제한
1개의 쿠키당 4KB, 도메인당 20개
제한사항 없음
만료시점
쿠키 저장시 설정(설정 없을 시에는 브라우저 종료시 만료)
로그아웃 시점 및 브라우저 종료시
보안
탈취와 변조가 가능
서버에 저장되어 있어 상대적으로 안전
hsnam
팔로우
다음 포스트
로컬 스토리지 VS 세션 스토리지
0개의 댓글
댓글 작성