웹
쿠키와 세션을 알아보자
이재빵
2021. 11. 6. 03:21
728x90
쿠키(cookie)
웹 서버가 브라우저에게 지시하여 사용자 로컬 컴퓨터에 저장하는 4K 이하의 작은 데이터
도입배경
HTTP 통신의 기본 약점 : 브라우저와 웹서버 사이의 통신은 무상태(stateless) 프로토콜임.
무상태 프로토콜: 바로 이전 요청과 현재 요청이 연결되어 있음을 기억하지 않는 통신
예)지금 'java'를 검색하는 사용자가 바로 전에 'javascript' 를 검색한 사용자라는 사실을 모른다.
쿠키는 HTTP의 무상태 프로토콜의 약점을 보완하기 위해 도입.
쿠키 생성 및 사용 과정
1.쿠키는 웹 서버가 생성하여 브라우저로 보냄.
- 사용자가 어떤 웹 서버에 처음 접속할 때
- 웹 서버가 다음 요청에서 그 사용자를 기억할 수 있도록 쿠키(이름&값)를 만들어 전송
2.쿠키를 받은 브라우저는 로컬 컴퓨터에 저장.
3.로컬 컴퓨터에서 동일한 웹 서버에 요청할 때 쿠키를 함께 전송.
- 웹 서버로 요청하는 경우: 웹 페이지 요청, 이미지 요청 등 모든 웹 자원 요청 포함
4. 쿠키를 받은 웹 서버는 어떤 사용자로부터 요청이 왔는지 알 수 있음.
세션(session)
클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법
예를 들면 웹 쇼핑몰에서 장바구니나 주문 처리와 같은 회원 전용 페이지의 경우 로그인 인증을 통해 사용 권한을 부여.
그래서 다른 웹 페이지에 갔다가 되돌아와도 로그인 상태가 유지되므로 회원 전용 페이지를 계속 사용할 수 있음 .
이렇게 사용자 인증을 통해 특정 페이지를 사용할 수 있도록 권한 상태를 유지하는 것
오직 웹 서버에 존재하는 객체로 웹 브라우저마다 하나씩 존재하므로 웹 서버의
서비스를 제공받는 사용자를 구분하는 단위가 됨.
- 웹 브라우저를 닫기 전까지 웹 페이지를 이동하더라도 사용자의 정보가 웹 서버에 보관되어 있어 사용자 정보를 잃지 않음.
- 웹 서버에서만 접근이 가능하므로 보안 유지에 유리하며 데이터를 저장하는데 한계가 없음.