웹/정리

[ web ] 쿠키 그리고 세션

한번의 로그인을 통해 다른 페이지 접근 시 나에 대한 상태 정보가 유지 된다.

이러한 상태 유지 및 관리를 위해선 쿠키가 사용

 

상태 유지 및 관리

                              ->    쿠키

사용자 인증 수단

 

쿠키

  • 쿠키를 통해 사용자 식별 및 세션 유지를 통해 클라이언트 서버 간의 상태 관리를 함
  • 지속 쿠키
    • 웹 서버에서 발급 시 클라이언트 하드 디스크에 텍스트 형태로 저장됨
    • 클라이언트 PC 사용자들은 해당 쿠키 정보를 열람할 수 있음
    • 로그인 기능을 예시
      • id, pw를 성공적으로 입력해 로그인하면 쿠키에 id를 저장
      • 재방문시 서버가 쿠키를 통해 사용자를 식별하여 사용
      • Logout 버튼을 누르면 쿠키를 폐기하게끔 로직을 설계함
  • 세션 쿠키
    • 웹 서버에서 발급 시 클라이언트 웹 브라우저 캐시에 저장
    • 정상적으로 로그인 시 웹 앱 서버는 서버 측에 해당 세션에 대한 정보를 저장
      • 저장하는 방법으로는 메모리, 파일 시스템, DB에 저장하는 방법 등
      • 세션은 문자가 옴호화, 난독화 되어있는 형태가 아닌 임의의 문자들이 무작위 나열된 것으로 공격자 측에선 특정 사용자의 세션을 추측하기는 어렵다.
      • 로그아웃을 누르면 폐기

서버에서 클라이언트로 쿠키 발급 시 Set-Cookie 헤더에 의해 클라이언트 쿠키 값이 세팅

해당 사이트 접근 시 마다 클라이언트는 Set-Cookie에 의해 세팅 된 값을 Cookie 헤더에 세팅해 요청 메시지를 전달

서버는 이를 통해 상태 관리를 함

 

왜 지속쿠키를 사용하는 것인가?

세션 쿠키를 사용하면 보안 담당자, 개발자들이 편하다.

그러나 대규모 웹서비스의 경우 수 많은 사용자들의 세션을 관리하기엔 서버에 부하를 일으킴

서버에 부담이 낮은 지속 쿠키 사용을 선호

 

편리성

지속쿠키 < 세션쿠키

 

서버 부하 율

지속쿠키 < 세션쿠키

 

웹 서비스 규모와 인프라 구성에 알맞게 사용하는 것이 최고이다.

' > 정리' 카테고리의 다른 글

[ Web ] URL에 관해..  (0) 2022.01.24