쿠키
- 클라이언트(브라우저)에 저장되는 키-값 쌍으로된 데이터
- 사용자의 편의를 위하되 수정되거나 삭제되어도 큰 문제가 없는 데이터를 저장하는데 사용된다.
- http reques와 response의 header를 통해 클라이언트와 서버 사이에 주고 받는다.
- 클라이언트는 서버로부터 받은 정보를 저장하고 있다가 를 웹페이지 재방문시 request와 함께 쿠키값으로 동봉하여 서버에 보낼 수 있다.
세션
- 클라이언트와 서버간 네트워크 연결이 지속적으로 유지되어 있는 상태
- 서버는 클라이언트에게 해당 클라이언트를 식별할 수 있는 유일한 세션 id를 부여
- 클라이언트가 서버에 request를 보낼때 해당 세션id를 쿠키에 동봉하여 보냄으로써 stateless한 http에서 클라이언트와 서버간 네트워크 연결이 지속적으로 유지되어 있는 상태를 구현할 수 있다.
- 서버는 세션id에 해당하는 특정 클라이언트의 노출되거나 함부로 수정되어서는 안되는 정보를 서버에 저장하여 맞춤형 서비스를 제공할 수 있다.
캐시
- 웹페이지 resource 파일들의 임시 저장소
- 다음에 같은 사이트에 재 접속시 페이지 로딩 속도를 개선할 수 있다.
- 캐시는 로딩 속도 개선을 위해서 사용되지만, 쿠키는 유저 관련 여러기능을 제공하기 위해 사용된다.
'Web > backend' 카테고리의 다른 글
OAuth 2.0 (0) | 2022.03.16 |
---|---|
Node.js event-driven (0) | 2020.11.08 |
HTTP vs HTTPS (0) | 2020.11.07 |
MVC 패턴 (0) | 2020.10.30 |
express (2) : 요청과 응답, 쿠키와 세션, REST API와 라우팅 (0) | 2020.10.24 |