쿠키(Cookie), 세션 (Session), 캐시 (Cache) 의 기본 개념

GABMIN KIM·2022년 1월 22일
0

웹 브라우저

목록 보기
1/7
post-thumbnail

쿠키(영어: cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다.

쉽게 말해 에버랜드의 자유이용권 같은 것이라고 볼 수 있을 것 같다. 이 자유이용권을 가지고 다니면서 기록하거나 수정하고 삭제할 수 도 있다. 즉, 사이트에 방문 할 때 브라우저에 저장되는 내용들을 쿠키를 통해 가지고 있는 것이다. 하지만 서버가 가지고 있는 것이 아니라 사용자에게 저장되기 때문에 그 만큼 보안에 취약하다는 단점이 있다. 쿠키의 대표적인 예는 로그인 페이지 아이디 자동완성, 공지 알람 창 하루 안보기, 쇼핑 사이트에서 비로그인 상태에서 장바구니 담기 등이 있다.

2. 세션 (Seesion)

쿠키의 단점을 보완해주는 것이 세션이다. 세션은 일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 일정하게 유지시키는 기술이다. 사용자나 다른 누군가에게 노출되면 안 되는 중요한 정보들은 세션으로 서버안에서 다뤄진다.

세션의 동작 순서는 다음과 같다.

  • 클라이언트가 페이지를 요청한다. (사용자가 웹사이트 접근)
  • 서버는 접근한 클라이언트의 Request-Header 필드인 Cookie를 확인하여, 클라이언트가 해당 session-id를 보냈는지 확인한다.
  • session-id가 존재하지 않는다면, 서버는 session-id를 생성해 클라이언트에게 돌려준다.
  • 서버에서 클라이언트로 돌려준 session-id를 쿠키를 사용해 서버에 저장한다.
  • 클라이언트는 재접속 시, 이전의 쿠키를 이용하여 session-id 값을 서버에 전달한다.

세션이 쿠키에 비해 보안도 높은 편이나 쿠키를 사용하는 이유는 세션은 서버에 저장되고, 서버자원을 사용하기 때문에 사용자가 많을 경우 소모되는 자원이 상당하다. 이러한 자원관리 차원에서 쿠키와 세션을 적절한 요소 및 기능에 병행 사용하여, 서버 자원의 낭비를 방지하며 웹사이트의 속도를 높일 수 있다.

대표적인 예는 한번 로그인 하면 페이지를 이동해도 계속 로그인되어 있는 상태를 예로 들 수 있다.

3. 캐시 (Cache)

웹 캐시(영어: web cache) 또는 HTTP 캐시(HTTP cache)는 서버 지연을 줄이기 위해 웹 페이지, 이미지, 기타 유형의 웹 멀티미디어 등의 웹 문서들을 임시 저장하기 위한 정보기술이다. 즉, 자주 방문하는 웹 사이트에 접속할 때마다 정적 자원(CSS, JS, 이미지 등)을 가져오는 것이 아니라, 특정 위치에 저장하여 웹 사이트 서버에 해당 컨텐츠를 매번 요청하여 받는 것이 아닌, 특정 위치에서 불러옴으로서 사이트 응답 시간을 줄이고 서버 트래픽 감소 효과를 볼 수 있는 것을 말한다.



출처: https://www.youtube.com/watch?v=OpoVuwxGRDI

profile
목표를 성취하는 개발자가 되겠습니다.

0개의 댓글