[CS][네트워크] 쿠키와 세션 그리고 캐시

손경이·2024년 4월 18일
0

CS Study

목록 보기
10/25

쿠키와 세션 그리고 캐시


HTTP는 상태와 연결에 대한 정보를 저장하지 않아, 이를 도와주는 것이 쿠키와 세션

쿠키 : 사용자의 브라우저에 정보 저장
세션 : 사용자의 정보를 서버에 저장
캐시 : 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에는 임시로 저장


> 쿠키

  • 사용자 정보가 기록된 텍스트 파일
  • 사용자의 브라우저에 정보 저장
  • 통신할 때(http) header에 포함되어 전송
  • http 통신중에 쿠키 정보가 노출될 수 있어, 보안에 취약
  • 지워지거나 조작되거나 가로채이더라도 큰 일은 없을 수준의 정보들을 브라우저에 저장하는데 사용

> 세션

  • 사용자의 정보를 서버에 저장
  • 브라우저가 종료될 때까지 정보가 유지됨
  • 서버에 저장하므로 보안에 강함
  • 사용자나 다른 누군가에게 노출되어서는 안 되는, 서비스 제공자가 직접 관리해야 할 정보들은 세션으로 서버 안에서 다뤄야 함

| 세션의 단점

  • 세션을 남발하면 접속자가 많을 때 서버에 부하가 걸림
  • 현재 로그인한 유저들의 모든 세션 ID를 DB에 저장해야 함
  • 즉, 요청이 들어올 때 마다 서버는 쿠키를 받아서, 세션 ID를 보고 세션ID와 일치하는 사용자를 찾아야 함, 그래야 다음으로 넘어감
  • 요청이 있을 때마다 DB를 찾아야 함
  • 사용자가 늘어남에 따라 DB리소스가 더 필요(이를 해결하기 위해 JWT가 등장)

> 캐시

  • 웹 뿐만 아니라 컴퓨터의 메모리 부분이나 안드로이드 등 다양한 곳에서 쓰임
  • 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에는 임시로 저장

참고

0개의 댓글