Session

zenoan·2021년 2월 20일
0

Codestates

  • 세션은 쿠키를 기반으로 한다. 사용자 정보 파일을 브라우저가 관리하는 쿠키와 달리 세션은 서버 측에서 관리하고 DB에 정보를 저장한다.
  • 쿠키는 보안에 취약하기 때문에 쿠키에 session_id(id와 다른 이름을 부여 가능)를 담아준다. 추가적으로 아직까지 session은 스크립트 태그로 접근이 가능하기 때문에 Set-Cookie 메소드를 통해서 암호화 된 session_id를 담아서 클라이언트로 전달한다.

세션 특징

  • 서버에서는 클라이언트를 구분하기 위해 세션ID를 부여하며 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증상태를 유지한다. (session cookie 사용)
  • 보안 면에서 쿠키보다 우수하지만 사용자가 많아질수록 서버 메모리를 많이 차지하게 되는데, 이는 성능 저하의 요인이 된다.
  • 세션 ID로 클라이언트를 구분해 클라이언트의 요구에 맞는 서비스를 제공한다.

쿠키와 세션의 장단점

세션 사용 예시

  • 로그인 시

In conclusion

  • HTTP 프로토콜은 stateless한 성격을 가지기 때문에 cookie와 http session을 활용하여 상태를 유지한다.
  • Cookie는 서버에 데이터를 저장하지 않고, 브라우저에 저장하는 기술이다
  • Http session은 서버에 데이터를 저장하고, cookie의 일종인 session cookie를 활용하여 클라이언트에 데이터를 저장하는 기술이다.
profile
프론트엔드 개발자

0개의 댓글