기타 공부/탈잉 렛츠고 장고! 노트정리

4강 장고 인증 파트 : 해커톤 참가 신청 사이트 만들기 - 세션과 쿠키

모항 2022. 5. 23. 02:39

세션과 쿠키에 대해 설명해주신 5분짜리 강의.

 

세션이란?

접속한 사용자의 기기에 관하여 서버가 기억하고 있어야 하는 정보가 있을 때,

그 정보를 저장하는 공간을 세션이라 한다.

사용자가 웹사이트에 로그인을 한 뒤, 그 웹사이트 내의 다른 페이지로 이동하더라도 계속해서 로그인 상태가 유지되는 것은 세션 덕분이다.

 

세션을 이용한 로그인 과정

클라이언트가 서버에 첫 접속을 함.

 

서버의 세션 상에 지금 들어온 클라이언트의 세션 ID가 없음. 따라서 새로운 세션 ID를 발급해서 세션에 기억함. 이 ID를 클라이언트 기기에 전달함. 클라이언트 기기는 전달받은 세션 ID를 저장함.

 

사용자가 로그인을 함.

 

서버가 로그인 정보와 세션 ID를 함께 기억해둠. 클라이언트가 요청을 보낼 때마다 이 ID 및 로그인 정보를 그때그때 불러와서 사용 시에 반영함. (로그인 상태 유지)

 

쿠키란?

서버 측에서 정보를 저장하는 곳이 세션이라면 사용자(클라이언트) 측에서 정보를 저장하는 곳은 쿠키임.

세션은 세션 혼자서는 제대로 동작할 수 없음. 세션 ID를 클라이언트 측에서도 저장을 해놔야 작동됨. 이 세션 ID도 쿠키가 저장함.

 

세션과 쿠키의 차이점

둘 다 연결 시에 필요한 정보들을 저장하는 곳이지만 차이점이 많음

  세션 쿠키
저장 위치 서버 클라이언트
처리 주체 서버 클라이언트
& 서버(서버에서도 쿠키에 저장할 값을 설정할 수 있기 때문임)
제한 명시적인 용량 제한 없음 쿠키 당 4kb, 도메인 당 20개까지
보안 비교적 높음 비교적 낮음
유효기간 데이터 형식엔 유효기간 없음.
서버에서 원하는 시점에 파기하면 됨.
데이터 형식 자체에 유효기간이 같이 저장됨. 유효기간이 끝나면 클라이언트에서 파기됨. 유효기간과 관계없이 직접 파기하는 것도 가능함.