HTTP 프로토콜에 포함되어 있는 기술 http cookie
https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies
mozilla 홈페이지에 내용이 잘 설명되어 있다.
주로 아래 3가지 용도로 사용됨.
세션 관리(Session management)서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리
개인화(Personalization)사용자 선호, 테마 등의 세팅
트래킹(Tracking)사용자 행동을 기록하고 분석하는 용도
HTTP 쿠키
HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송합니다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용합니다. 이를 이용하면 사용자의 로그인 상태를 유지할 수 있습니다. 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜주기 때문입니다.
쿠키는 주로 세 가지 목적을 위해 사용됩니다:
세션 관리(Session management)서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리개인화(Personalization)사용자 선호, 테마 등의 세팅트래킹(Tracking)사용자 행동을 기록하고 분석하는 용도
과거엔 클라이언트 측에 정보를 저장할 때 쿠키를 주로 사용하곤 했습니다. 쿠키를 사용하는 게 데이터를 클라이언트 측에 저장할 수 있는 유일한 방법이었을 때는 이 방법이 타당했지만, 지금은modern storage APIs를 사용해 정보를 저장하는 걸 권장합니다. 모든 요청마다 쿠키가 함께 전송되기 때문에, (특히 mobile data connections에서) 성능이 떨어지는 원인이 될 수 있습니다. 정보를 클라이언트 측에 저장하려면 Modern APIs의 종류인 웹 스토리지 API (localStorage와 sessionStorage) 와 IndexedDB를 사용하면 됩니다.
**https 를 사용하지 않으면 쿠키는 유출되기 굉장히 쉬움. 인증정보 자체를 쿠키에 담는것은 정말 위험천만
**Session을 이용한 로그인의 경우 로그인 식별자로 로그인상태 여부를 확인가능하다 쿠키보다는 개인정보 유출에 안전하다 상대적으로.
**Session은 실제 정보는 서버단의 데이터베이스나 파일에 저장하고 식별자로서 데이터의 주인인지 여부를 확인한다.
'읽던 글 스크랩' 카테고리의 다른 글
REST API [스크랩] (0) | 2021.11.23 |
---|---|
[스크랩] 세션 / JWT (0) | 2021.11.08 |
[스크랩] stack & stack frame / 호출규약 (0) | 2021.10.05 |