Q) HTTP는 stateless(무상태성)인데 어떻게 우리의 정보가 유지될까?
(stateless : 서버로 가는 모든 요청이 이전 리퀘스트와 독립적 다뤄진다 , 요청이 끝나면 서버는 고객이 누군지 잊어버린다)
1. Cookie 란?
- 어떤 웹사이트에 들어갔을 때, 서버가 일방적으로 클라이언트에 전달하는 작은 데이터
- 쿠키를 이용해서 서버는 고객의 브라우저에 데이터를 넣는다 (고객에 관한 것을 기억하기 위해)
- HTTP의 stateless 특징을 보완해주는 도구 (서버가 웹 브라우저에 정보를 저장하고 불러올 수 있는 수단)
- 작은 문자열을 저장 (쿠키 한개에 4KB까지 저장 가능하며, 최대 300개 까지 저장할 수 있는 텍스트 파일)
- 해당 도메인에 대한 쿠키가 존재한다면, 웹 브라우저는 도메인에게 http 요청 시 쿠키를 함께 전달
- 서버는 브라우저에 일방적으로 쿠키를 저장할 수 있다
- 기본적으로 쿠키는 웹 브라우저가 종료되면 삭제된다. (만료날짜를 지정해 주면 만료일이 되야 삭제된다.)
- 사용 헤더 : cookie ,set-cookie
- <key,value>로 저장
- 보안이 허술함 (브라우저에 저장되기 때문에 브라우저가 공격당하면 바로 탈취당함)
- 브라우저간 공유X
- 쓰임새 : 인증 상태 저장, 장바구니, 팝업 7일간 보지않기, 맞춤 광고