쿠키와 세션 +캐시

백PM ㅣ 2022. 9. 28. 01:55

쿠키와 세션은 HTTP프로토콜의 단점을 보완하기 위해서 생겨난 개념입니다.

HTTP의 문제

HTTP는 클라이언트와 서버의 연결이 끊기는 순간 상태정보를 잃어버립니다. 이는 다시 연결할 때 클라이언트로부터 정보를 다시 얻어와야 하는 번거로움이 있습니다.

첫번째 해결책 : 쿠키

클라이언트가 웹사이트에 방문할 경우 사용자의 컴퓨터에 기록파일을 저장합니다. 그렇게 하면 나중에 다시 접속했을 때도 필요시에 그 정보를 재활용할 수 있습니다.

쿠키 특징

  • 이름, 값, 만료일, 경로정보로 구성
  • 클라이언트에 총 300개 쿠키를 저장
  • 도메인 하나당 최대 20개의 쿠키 소유
  • 하나의 쿠키는 최대 4kb까지 저장가능

예) 아이디와 비밀번호 저장

두번째 해결책 : 세션

클라이언트가 웹브라우저를 통해 접속한 시점부터 사용자가 보내는 요청들을 일정시간동안 서버에 저장합니다. 일정시간내에 클라이언트가 다시 접속했을 때 저장한 정보를 불러와 지난번 접속을 끊었을 때의 상태를 보여줍니다.

세션 특징

  • 웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장
  • 저장데이터에 제한이 없음
  • 클라이언트에 고유 세션ID를 부여하고 그것으로 클라이언트를 구분해 정보를 불러옴

예) 화면 이동 후에도 재접속시 자동로그인

쿠키와 세션의 차이

차이점
쿠키
세션
저장공간
클라이언트 컴퓨터
서버 컴퓨터
보안성
쿠키를 패킷에 담아서 서버에 보낼때 스니핑 당할 가능성
내부에서 처리되므로 우려 없음
속도
빠름
느림
만료기간
쿠키에 쓰여진 만료기간 만큼
만료기간이 지나지 않아도 브라우저가 종려되면 자동삭제

+ 캐시?

웹페이지 요소를 저장하기 위한 임시 저장소이며 웹페이지를 빠르게 렌더링 할 수 있도록 도와줍니다.

이미지, 비디오, 오디오, css, js파일 등 데이터나 값을 복사해두고 같은 웹페이지를 접속할 때 재사용합니다.

쿠키는 서버를 자동으로 거치게 되지만 캐시는 서버를 거치지 않아도 됩니다.

'네트워크' 카테고리의 다른 글

HTTPS 특징  (0) 2022.09.28
web.xml ?  (0) 2022.09.28
HTTP 상태코드 표  (0) 2022.09.28
OSI 7계층  (1) 2022.09.28
HTTP와 그 메서드  (0) 2022.09.28