세션과 쿠키에 대해 설명해주신 5분짜리 강의.
세션이란?
접속한 사용자의 기기에 관하여 서버가 기억하고 있어야 하는 정보가 있을 때,
그 정보를 저장하는 공간을 세션이라 한다.
사용자가 웹사이트에 로그인을 한 뒤, 그 웹사이트 내의 다른 페이지로 이동하더라도 계속해서 로그인 상태가 유지되는 것은 세션 덕분이다.
세션을 이용한 로그인 과정
클라이언트가 서버에 첫 접속을 함.
서버의 세션 상에 지금 들어온 클라이언트의 세션 ID가 없음. 따라서 새로운 세션 ID를 발급해서 세션에 기억함. 이 ID를 클라이언트 기기에 전달함. 클라이언트 기기는 전달받은 세션 ID를 저장함.
사용자가 로그인을 함.
서버가 로그인 정보와 세션 ID를 함께 기억해둠. 클라이언트가 요청을 보낼 때마다 이 ID 및 로그인 정보를 그때그때 불러와서 사용 시에 반영함. (로그인 상태 유지)
쿠키란?
서버 측에서 정보를 저장하는 곳이 세션이라면 사용자(클라이언트) 측에서 정보를 저장하는 곳은 쿠키임.
세션은 세션 혼자서는 제대로 동작할 수 없음. 세션 ID를 클라이언트 측에서도 저장을 해놔야 작동됨. 이 세션 ID도 쿠키가 저장함.
세션과 쿠키의 차이점
둘 다 연결 시에 필요한 정보들을 저장하는 곳이지만 차이점이 많음
세션 | 쿠키 | |
저장 위치 | 서버 | 클라이언트 |
처리 주체 | 서버 | 클라이언트 & 서버(서버에서도 쿠키에 저장할 값을 설정할 수 있기 때문임) |
제한 | 명시적인 용량 제한 없음 | 쿠키 당 4kb, 도메인 당 20개까지 |
보안 | 비교적 높음 | 비교적 낮음 |
유효기간 | 데이터 형식엔 유효기간 없음. 서버에서 원하는 시점에 파기하면 됨. |
데이터 형식 자체에 유효기간이 같이 저장됨. 유효기간이 끝나면 클라이언트에서 파기됨. 유효기간과 관계없이 직접 파기하는 것도 가능함. |
'기타 공부 > 탈잉 렛츠고 장고! 노트정리' 카테고리의 다른 글
4강 장고 인증 파트 : 해커톤 참가 신청 사이트 만들기 - User모델과 회원가입 (0) | 2022.05.24 |
---|---|
4강 장고 인증 파트 : 해커톤 참가 신청 사이트 만들기 - 프로젝트 세팅 (0) | 2022.05.23 |
3강 장고 기본 파트 : 투표 사이트 만들기 - 마지막까지 (4주차 노트정리 총정리) (0) | 2022.05.23 |
3강 장고 기본 파트 : 투표 사이트 만들기 - 템플릿 (0) | 2022.05.15 |
3강 장고 기본 파트 : 투표 사이트 만들기 - 서버 실행 (0) | 2022.05.08 |