Cookie, Session

NavDevJae·2021년 7월 5일
0

INTERVIEW PREPARATION

목록 보기
14/15
post-thumbnail

쿠키, 세션 사용 이유

  • HTTP의 특징 및 약점을 보완하기 위해 사용한다.
  • HTTP의 connectionless, stateless 특징을 보완.

connectionless

  • 클라이언트가 request를 서버에 보내고 서버는 이에 맞는 response를 보내고 접속을 끊는 특징.

stateless

  • 통신이 끝나면 상태를 유지하지 않는 특징.
  • 연결이 끊어지는 동시에 클라이언트와 서버 통신이 끝나고 상태 info는 사라진다.

쿠키 (Cookie)

쿠키 정의

  • 클라이언트에 저장되는 key, value가 있는 작은 데이터 파일이다.
  • 유효 시간이 정해지면 브라우저 종료되어도 유지된다.
  • 클라이언트 상태 info를 로컬에 저장한다.
  • 한 도메인당 20개의 값 가지고 한 쿠키값은 4KB까지 저장된다.
  • Response Header에 Set-Cookie를 사용하면 클라이언트에 쿠키 생성 가능하다.

쿠키 동작

  • 클라이언트가 페이지 요청
  • 서버에서 쿠키 생성
  • HTTP 헤더에 쿠키 포함시켜 response
  • 동일한 요청 시 HTTP 헤더에 쿠키를 함께 보낸다.

세션 (Session)

세션 정의

  • 쿠키 기반이나 사용자 info 파일을 서버 측에서 관리한다.
  • 서버에서는 클라이언트 구분 위해 세션 ID를 부여하고 브라우저 종료할 때까지 인증상태 유지한다.
  • 쿠키보다 보안이 좋으나 사용자가 많아지면 서버 메모리를 많이 차지하게 된다.

세션 동작

  • 클라이언트가 서버 접속 시 Session ID를 발급 받는다.
  • 클라이언트는 세션 ID에 대해 쿠키 사용하여 저장한다.
  • 클라이언트에서 서버에 요청 시, 세션 ID를 서버에 전달한다.
  • 서버는 세션 ID로 세션 내 클라이언트 정보를 가져온다.
profile
전직 항해사 출신 미래 개발자

0개의 댓글