쿠키 vs 세션vs 캐시
오늘 발생한 문제)
사용자가 1일에 발급받은 큐알코드와 2일에 발급받은 큐알코드가 있다. 2일에 2일에 발급받은 큐알코드로 인증을 하려고 했으나, 1일에 발급받은 큐알코드 정보에 대한 캐시 내역이 남아있어 인증에 실패하였다.
이러한 문제에 부딪혔을 때, 캐시와 쿠키의 차이점을 누가 물어봤는데 대답하지 못하여서 정리해보았다.
쿠키
사용자가 웹페이지에 방문할 때 방문기록에 대한 정보
내가 네이버에 아이디와 비밀번호를 입력하여 로그인에 성공하면 웹 브라우저는 해당 쿠키정보를 이용하여 다음번에 네이버에 로그인할 때 아이디와 비밀번호를 자동으로 불러온다.
브라우저를 닫았다가 열어도 계속 남아있으나 일정 시간이 지나면 삭제된다.
쿠키는 사용자의 컴퓨터(브라우저)에 저장된다. -> 클라이언트에 있으므로 보안에 취약
세션
쿠키와 하는 일이 같다. 저장되는 곳이 서버이다. 서버에 저장되는 쿠키라고 보면 된다.
네이버측 서버에서 내가 방문한 기록을 저장한다. 브라우저를 다으면 세션이 소멸된다.
서버쪽에 데이터가 저장되기 때문에 보안에 강하다.
캐시
리소스 파일들의 임시 저장소.
웹 페이지에 이미지 같은 리소스가 있다. 이런 것들은 서버에서 개인PC로 전송되는 데이터의 일종이다.
이러한 데이터들을 매번 서버에서 전송하면 부하가 걸리기 때문에 사용자가 웹 페이지에 접속했을 때 사용자의 컴퓨터에 캐시라는 저장 공간을 따로 마련하여 웹 페이지의 데이터들을 그곳에 저장하여 사용한다.
-> 만약 관리자가 이미지를 변경했으나 사용자의 캐시 내역을 읽어와서 변경된 이미지를 못볼 수도 있다.
주말에 공부해볼 것
문제가 쿠키때문인지 캐시때문인지 어떻게 알 수 있는지 공부
사용자가 새롭게 접근 시 쿠키나 세션을 삭제하도록 하는 법 공부