개발 알다가도 모르겠네요

쿠키와 세션을 알아보자 본문

쿠키와 세션을 알아보자

이재빵 2021. 11. 6. 03:21
728x90

쿠키(cookie)

웹 서버가 브라우저에게 지시하여 사용자 로컬 컴퓨터에 저장하는 4K 이하의 작은 데이터

 

도입배경

HTTP 통신의 기본 약점 : 브라우저와 웹서버 사이의 통신은 무상태(stateless) 프로토콜임.

무상태 프로토콜: 바로 이전 요청과 현재 요청이 연결되어 있음을 기억하지 않는 통신

예)지금 'java'를 검색하는 사용자가 바로 전에 'javascript' 를 검색한 사용자라는 사실을 모른다.

쿠키는 HTTP의 무상태 프로토콜의 약점을 보완하기 위해 도입.

 

쿠키 생성 및 사용 과정

1.쿠키는 웹 서버가 생성하여 브라우저로 보냄.

  • 사용자가 어떤 웹 서버에 처음 접속할 때
  • 웹 서버가 다음 요청에서 그 사용자를 기억할 수 있도록 쿠키(이름&값)를 만들어 전송

2.쿠키를 받은 브라우저는 로컬 컴퓨터에 저장.

3.로컬 컴퓨터에서 동일한 웹 서버에 요청할 때 쿠키를 함께 전송.

  • 웹 서버로 요청하는 경우: 웹 페이지 요청, 이미지 요청 등 모든 웹 자원 요청 포함

4. 쿠키를 받은 웹 서버는 어떤 사용자로부터 요청이 왔는지 알 수 있음.

 

해당 사이트와 HTTP통신 외에 이 쿠키를 알려주어서는 안됨.

 

 

세션(session)

클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법

예를 들면 웹 쇼핑몰에서 장바구니나 주문 처리와 같은 회원 전용 페이지의 경우 로그인 인증을 통해 사용 권한을 부여.

그래서 다른 웹 페이지에 갔다가 되돌아와도 로그인 상태가 유지되므로 회원 전용 페이지를 계속 사용할 수 있음 .

이렇게 사용자 인증을 통해 특정 페이지를 사용할 수 있도록 권한 상태를 유지하는 것

 

오직 웹 서버에 존재하는 객체로 웹 브라우저마다 하나씩 존재하므로 웹 서버의

서비스를 제공받는 사용자를 구분하는 단위가 됨.

  • 웹 브라우저를 닫기 전까지 웹 페이지를 이동하더라도 사용자의 정보가 웹 서버에 보관되어 있어 사용자 정보를 잃지 않음.
  • 웹 서버에서만 접근이 가능하므로 보안 유지에 유리하며 데이터를 저장하는데 한계가 없음.

'' 카테고리의 다른 글

Status Code를 알아보자.  (0) 2021.07.24
Ajax를 간단하게 알아보자  (0) 2021.07.24
Content-type 번외편  (0) 2021.07.22
Content-Type 헤더를 간단하게 알아보자  (0) 2021.07.22
PATCH와 HEAD를 간단하게 알아보자  (0) 2021.07.20