Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

그냥 블로그^_~

Cookie와 Session 본문

CS/Back-end

Cookie와 Session

hj__0428 2022. 9. 25. 23:03

Cookie와 Session

쿠키와 세션이 필요한 이유

  • HTTP 프로토콜의 특징이자 약점을 보완하기 위해서
    • connectionless
      • 요청 후 응답 받으면 연결 끊어버림
    • stateless
      • 연결을 끊기 때문에 client의 상태가 유지되지 않음
    • 로그인 정보, 장바구니 정보 등 특정 유저마다의 상태 유지가 필요할 때 쿠키와 세션 사용

 

쿠키와 세션의 공통점과 차이점

  쿠키 세션
저장 위치 클라이언트 서버
저장 데이터 타입 텍스트 객체
저장 데이터 크기 쿠키 하나당 4KB (도메인마다 20개까지) 제한X(서버에서 가능한 메모리 크기만큼)

 

Cookie 특징

  • 클라이언트 쪽에 저장 (파일 형태)
    • key, value 형태
  • 사용자도 접근, 수정, 삭제 가능
    • 세션에 비해 상대적으로 보안성 낮음 → critical한 정보 저장 X
  • 도메인당 20개 저장 가능, 하나의 쿠키 4kb까지 저장 가능
  • 쿠키 구성 요소
    • 이름 : 쿠키 식별자
    • 유효기간 : 쿠키 지속 시간
    • 도메인 : 쿠키를 전송할 도메인
  • 브라우저마다 저장되는 쿠키는 다르다
    • 서버에서는 브라우저가 다르면 다른 사용자로 인식

 

Cookie 동작 방식

  1. 클라이언트가 페이지 요청
  2. 서버에서 쿠키를 생성
  3. HTTP 헤더에 쿠키를 포함시켜 응답
  4. 클라이언트는 응답과 함께 쿠키를 저장
  5. 같은 서버에 요청을 보낼 때 저장해놨던 쿠키를 함께 보냄
  6. 서버에서 쿠키를 읽어서 사용자 상태 정보 확인 및 업데이트 사항 있으면 업데이트 해서 HTTP헤더에 포함시켜 응답

 

Session 특징

  • 서버에 저장 (객체 형태)
  • 세션은 쿠키를 기반으로 사용
    • 세션 ID가 쿠키에 저장되기 때문
  • 서버쪽에서 관리되기 때문에 쿠키보다 상대적으로 보안성 높음
  • 크기에 제한 X
    • 너무 큰 데이터나 많은 데이터를 저장 시 서버 메모리에 영향

'CS > Back-end' 카테고리의 다른 글

MVC 패턴  (0) 2022.09.25