HTTP의 비연결성 및 무상태성 특징을 보완한 기술 : 쿠키와 세션
비연결성 : HTT는 요청에 대한 응답을 처리하게 되면 연결을 끊어버림
무상태성 : 연결이 끊기면 이전의 상태 정보 및 현재 통신 상태가 남아있지 않음
쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각
브라우저는 데이터 조각을 저장해 놓았다가, 동일한 서버에 재 요청시 저장된 데이터를 함께 전송.
쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용
결과적으로 사용자의 로그인 상태를 유지할 수 있음 !!
쿠키의 목적 세 가지
1. 세션 관리 : 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보관리
2. 개인화 : 사용자 선호, 테마 등의 세팅
3. 트래킹 : 사용자 행동을 기록하고 분석
사용예시 : 로그인시 팝업창 "아이디와 비밀번호 저장하시겠습니까" | "오늘 이 창을 다시 보지 않기"
HTTP 쿠키에 대해 알고 싶다면 클릭 !
세션
사용자가 웹브라우저를 통해 웹서버에 접속한 시점부터 웹브라우저를 종료하여 연결을 끝내는 시점까지
사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 유지하는 기술
쉽게 말해서 사용자가 웹서버에 접속해 있는 상태를 세션이라고 함
사용예시 : 화면을 이동해도 로그인이 풀리지 않고 로그아웃하기 전까지 유지
세션에 대해 더 알고 싶다면 클릭 !
- 저장 위치
- 쿠키 - 로컬PC
- 세션 - 서버
- 저장 방식
- 쿠키 - text
- 세션 - object
- 만료 시점(라이프 사이클) :
- 쿠키 - 만료기간이 있지만, 파일로 저장되기 때문에 브라우저를 종료해도 정보 유지 될 수 있음
만료기간 정해도 쿠키 삭제할 때까지 유지 가능 - 세션 - 만료기간 정할 수 있지만, 브라우저가 종료되면 만료기간 상관없이 삭제
- 쿠키 - 만료기간이 있지만, 파일로 저장되기 때문에 브라우저를 종료해도 정보 유지 될 수 있음
- 속도 : 쿠키 > 세션
- 보안 : 쿠키 < 세션
세션이 사용하고 저장하는 서버 자원에 한계가 있고 속도가 느려질 수 있기 때문에 쿠키와 병행 사용함
서버 자원 낭비를 방지하고 웹사이트 속도를 높일 수 있음
'STUDY > Python' 카테고리의 다른 글
머신러닝? 선형회귀, 손실함수, 코랩 | 앞으로 배울 머신러닝 , 딥러닝 | 모국어가 어려워진다. (0) | 2022.05.12 |
---|---|
JWT(JSON Web Token) | 자격 증명 (0) | 2022.05.08 |
{%%}, {{ }}, {# #}, # ## ??? | Jinja2 | Flask에서 사용하는 텍스트 기반형식의 템플릿 (0) | 2022.05.08 |
주말계획 | 5월 7일-5월 8일 | 인스타 클론코딩과 타임 어택 테스트를 치루고 공부해야겠다 싶은 것들 (0) | 2022.05.07 |
⏱타임어택 테스트, 제한시간 1시간의 결과는?!⏱ | 회원 가입 페이지를 만들고 Flask로 구현한 게시판 API 연동까지 ! | 5월 6일 (0) | 2022.05.07 |