쿠키와 세션 차이

mocaccino·2024년 11월 11일

쿠키

  • HTTP의 일종, 사용자가 어떠한 웹 사이트를 방문하였을 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일
    • HTTP에서 클라이언트의 상태정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재 사용 가능
    • 특징
      • 이름, 값, 만료일, 경로 정보로 구성
      • 클라이언트에 총 300개의 쿠키 저장 가능
      • 하나의 도메인당 20개의 쿠키 저장 가능
      • 하나의 쿠키는 4KB(4096byte) 까지 저장 가능
    • 동작
      • 1) 클라이언트가 페이지 요청(사용자가 웹 사이트 접근)
      • 2) 웹 서버 쿠키 생성
      • 3) 생성한 쿠키 정보를 담아 HTTP 화면을 돌려줄 때 같이 클라이언트에게 돌려줌
      • 4) 넘겨받은 쿠키는 클라이언트가 가지고 있다가 (로컬 PC에 저장)
      • 5) 동일 사이트 재 방문시 클라이언트의 PC에 해당 쿠키가 있는 경우 요청 페이지와 함께 쿠키 전송
    • 사용예
      • 방문했던사이트에 다시 방문하였을 때 아이디와 비밀번호 자동 입력
      • 팝업창을 통해 ‘오늘 이 창을 다시 보지 않기’ 체크

세션

  • 일정 시간 같은 사용자(브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술
    • 일정시간 : 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점
    • 특징
      • 웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보 저장
      • 웹 서버에 저장되는 쿠키(=세션 쿠키)
      • 브라우저를 닫거나 서버에서 세션을 삭제했을때만 삭제되므로 쿠키보다 비교적 보안이 좋다
      • 서버용량이 허용하는 한 저장 제한이 없다.
      • 각 클라이언트 고유의 세션 ID 부여
    • 동작 순서 1) 클라이언트가 페이지 요청(사용자 웹 사이트 접근) 2) 서버는 접근한 클라이언트에 쿠키를 확인하여 클라이언트가 해당 세션 ID를 보냈는지 확인 3) 세션 ID가 존재 안할 시, 서버는 세션 ID를 생성 후 클라이언트에게 ㅗㄷㄹ려줌 4) 서버에서 클라이언트로 돌려준 세션 ID를 쿠키를 사용해 서버에 저장 5) 클라이언트는 재 접속시 쿠키를 이용하여 세션 ID 값을 서버로 전달
    • 사용 예
      • 화면이 이동해도 로그인이 풀리지 않고 로그아웃까지 유지

쿠키와 세션 차이

쿠키세션
저장위치클라이언트(접속자 PC)서버
저장형식txtObject
만료시점쿠키 저장 시 설정브라우저 종료 시 삭제
사용자원클라이언트 리소스웹 서버 리소스
용량제한총 300개
하나의 도메인당 20개서버 허용 범위 내,
용량제한 X
속도세션대비 빠름쿠키대비 느림
보안세션대비 낮음쿠키대비 높음
profile
레거시문서를 줄이자. 계속 업데이트해서 최신화한다.

0개의 댓글