티스토리 뷰

쿠키(Cookie)


짧은 정리

Key-Value 로 구성된 일반 텍스트 파일, 서버가 인터넷 사용자에게 전송하는 작은 데이터 조각이다.

이 데이터는 각 사용자의 PC에 저장되어 동일 서버에 재 요청할 때 브라우저에 의해 동봉되어 사용자의 상태를 구분할 수 있도록 한다.

 

역사

넷스케이프 개발자 룬 몬틀리가 매직 쿠키 라는 개념을 차용하여 만들었다.

서버가 각 사용자의 상태를 기록하지 않게 하기 위해 사용자의 PC에 저장하는 쿠키가 만들어졌다.

 

 

목적

stateless 한 HTTP 통신에 사용자의 상태를 구분하는 목적을 가진다.

  1. 세션 관리(Session management)
    1. 로그인, 장바구니등의 정보를 관리하는 역할을 한다.
  2. 개인화(Personalization)
    1. 선호에 맞는 설정을 제공하도록 도와줌.
  3. 트래킹(Tracking)
    1. 사용자의 행동을 기록하고 분석하는 용도로 사용 됨
특징
  1. Key-Value 의 일반 텍스트파일이다.
  2. 라이프 사이클을 가지고 있다.
    1. 영속 쿠키 : 만료 기한이 설정되어 해당 만료 기한이 지났을 때 삭제된다.
    2. 세션 쿠키 : 만료 기한을 설정하지 않아, 해당 브라우저의 세션이 끝날 때 삭제된다.
  3. 하나의 쿠키는 4Byte를 넘을 수 없다.

 

장점
  • 서버의 저장공간을 절약할 수 있다.

 

단점
  • 쿠키는 탈취당할 수 있어, 보안에 취약하다.
  • 네트워크 요청 비용이 커진다.

 

 

세션(Session)


짧은 정리

일정 시간 동안 서버에서 사용자 정보를 저장하는 방법을 의미한다.

저장된 세션으로 사용자의 상태를 유지하여 각 사용자를 구분한다.

 

특징
  1. 각 사용자에게 Session ID를 부여하여 저장 정보를 구분한다.
    1. Session ID는 쿠키로 저장되어 매 요청에 동봉되어 전송된다.
  2. 서버에 저장되기 때문에, 쿠키에 비해 보안이 뛰어나다.

 

목적

쿠키와 마찬가지로, 사용자의 상태를 일정 기간동안 유지하기 위해 사용된다.

 

쿠키와 세션의 차이


 

  쿠키(Cookie)  세션(Session)
저장 위치 클라이언트(사용자) PC 서버 PC
저장 형식 텍스트 객체
속도 상대적으로 빠르다 상대적으로 느리다
보안 상대적으로 안전하지 않다. 상대적으로 안전하다

 

'Infrastructure' 카테고리의 다른 글

가상화 (Virtualization)  (0) 2022.07.28
세션 불일치 문제와 해결방법  (0) 2022.07.25
메모리 풀 (Memory Pool)  (0) 2022.07.22
오브젝트 풀 (Object Pool)  (1) 2022.07.20
메모리 단편화(Memory Fragmentation)  (0) 2022.07.20
댓글