less than 1 minute read

Updated:

웹에서의 상태 유지 기술

HTTP 프로토콜은 상태 유지가 되지 않는다.

  • 클라이언트의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않음.

상태 유지를 위해 Cookie와 Session 기술이 등장함.


쿠키(Cookie)와 세션(Session)

쿠키

  • 사용자 컴퓨터에 저장
  • 저장한 정보를 다른 사람 또는 시스템이 볼 수 있는 단점
  • 유효시간이 지나면 사라짐
  • 이름과 값으로 구성되어 있음.

세션

  • 서버에 저장
  • 서버가 종료되거나 유효시간이 지나면 사라짐
  • 동작 : 1)요청 > 2)세션키 생성 > 3)세션키를 이용한 저장소 생성 > 4)세션키를 담은 Cookie 생성 > 5)응답(세션키를 담은 쿠키 포함) > 6)요청(세션키를 저장하고 있는 쿠키) > 7)쿠키의 세션키를 이요해 이전에 생성한 저장소(HttpSession)를 활용


쿠키를 이용한 상태 유지

쿠키 정의

  • 클라이언트 단에 저장되는 작은 정보의 단위
  • 클라이언트에서 생성하고 저장될 수 있고, 서버단에서 전송한 쿠키가 클라이언트에 저장될 수 있다.

이용 방법

  • 서버에서 클라이언트의 브라우저로 전송되어 사용자의 컴퓨터에 저장
  • 저장된 쿠키는 다시 해당하는 웹페이지에 접속할 때 브라우저에서 쿠키를 전송
  • 쿠키는 이름과 값으로 구성된 자료를 저장. (이름과 값 외에도 주석, 경로, 유효기간, 버전, 도메인과 같은 추가적인 정보를 저장함.)

쿠키는 수와 크기에 제한

  • 하나의 쿠키는 4K Byte로 제한
  • 브라우저는 각각 웹사이트 당 20개의 쿠키를 허용
  • 모든 웹 사이트를 합쳐 최대 300개를 허용
  • 클라이언트 당 쿠키 최대 용량은 1.2M Byte