
1. 쿠키
(1) Client → Server
클라이언트가 서버에 처음으로 Request 전송
(2) Server
서버에서 쿠키 생성
(3) Server → Client
HTTP 응답 헤더에 쿠키 포함시켜 응답
(4) Client
브라우저 종료되어도 쿠키 만료 기간 지나지 않았다면 클라이언트에서 보관
(5) Client → Server
같은 요청 하는 경우 HTTP 헤더에 쿠키 함께 보냄
(6) Server → Client
서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요 있을 때 쿠키 업데이트 하여
변경된 쿠키를 HTTP 헤더에 포함시켜 응답
2. 쿠키의 특징
1. 쿠키는 몇가지 특징이 있는데 쿠키는 도메인에 한정적입니다. 예를 들어 구글에서 사용자를 인식하기
위해 사용자에게 준 쿠키는 네이버에 보낼 수 없습니다. 구글의 쿠키는 사용자와 구글 안에서만 주고
받습니다.
2) 두번째 특징으로 쿠키는 자동으로 보내진다. 즉 사용자가 구글 페이지를 넘나들면 구글이 사용자
브라우저에 원하는 만큼 쿠키를 자동으로 보낸다.
이렇듯 쿠키는 사용자가 특정 사이트를 방문할 때 사용자의 브라우저에 저장되는 내용이다.
사용자의 편의를 위해 생겼고 누군가 조작해도 큰 상관 없는 내용들이 브라우저에 저장된다.
사용되는 예시-
1.로그인 아이디 자동완성, 2.오늘 하루보지 않기, 3. 비로그인 회원으로 장바구니
담기 등이 있다. 4. ID 저장, 로그인 상태 유지
3. 세션 스토리지
(1) Client → Server
클라이언트가 처음으로 서버에게 request 전송
(첫 request이므로 session id 존재하지 않음)
(2) Server → Client
서버가 session id가 없음을 확인하고 새로 발급하여 응답. 발급 id는 사용자별로 유니크
한 아이디를 발급한다.
(3) Client → Server
HTTP 헤더에 session id 포함시켜 요청
(4) Server
서버는 session id를 통해 사용자 식별
(5) 클라이언트 종료 시 session id 제거, 서버에서도 session 제거
사용 예시
- 로그인
4. 세션 스토리지 특징
세션의 장점
로그인된 유저의 정보를 저장. 따라서 원하지 않은 사용자가 있을 때 세션에서 제거해서 사용자를 관
리할 수 있다. 예시로 넷플릭스의 1계정의 접속기기를 제한하는 것은 세션이 있어서 가능하다.
세션의 단점
사용자가 많을시 db를 구축해야한다. 왜냐하면 사용자의 수만큼 서버에 데이터를 저장해야 하기 때문
이다.
위의 특징으로 session id를 포함한 쿠키를 담은 request response header가 요청과 응답시 왔다
갔다 하면서 db를 조회하므로 서버에 부하가 생길 수 있다.
5. 쿠키와 세션 차이
쿠키와 세션은 비슷한 역할을 합니다. 도식도 유사합니다.
차이점은 사용자의 정보가 저장되는 위치입니다. 쿠키는 브라우저가 지정한 메모리 또는 하드디스크에
저장되고 세션은 서버의 메모리에 저장됩니다.
서버에 저장된다는 특징으로 서버의 자원을 사용해 서버의 메모리로 로딩되기 때문에 서버의 부하를 생각
해서 필요한 경우에 세션을 사용합니다.
쿠키에는 만료시간 있는 파일로 저장 돼서 브라우저가 종료 돼도 정보가 남아 있습니다.
세션은 브라우저가 종료되면 만료시간 상관없이 삭제됩니다.
'언어 > 개발용어' 카테고리의 다른 글
[개발노트] 리액트 라우팅 (0) | 2022.06.16 |
---|---|
3/22 보완점 (0) | 2022.03.23 |