본문 바로가기

네트워크

03_쿠키

03_쿠키


- HTTP는 기본적으로 요청과 응답하는 과정에서 상태 정보를 저장하지 않아 무상태 혹은 스테이트리스 프로토콜이라고 하며, 상태를 유지하면서 연속된 응답을 해야 할 때 쿠키라는 기술을 사용합니다.


쿠키로 세션을 유지한다

- HTTP는 무상태 프로토콜이기 때문에 요청과 응답을 한 번씩 주고받은 후에 통신이 끊어진다. 그래서 온라인 쇼핑몰에서 상품을 선택하고 구입 결정을 한 후에 결제 화면으로 이동하는 것처럼 여러 단계의 흐름 처리를 할 때는 각 요청이 동일한 사용자가 보낸 것인지 다른 사용자가 보낸 것인지 판단하지 못한다. 이런 경우 여러 건의 요청 처리를 동일한 사용자 접속 세션으로 인식할 수 있도록 쿠키를 사용합니다.

<출처 : http://withbundo.blogspot.kr/2017/07/http-9-http-cookie-session.html>


쿠키가 하는 일

- 웹 브라우저는 응답받은 메세지에 'Set-Cookie:' 라는 문자열이 있는지 확인하고, 만약 있으면 그 내용을 로컬 디스크에 쿠기 형태로 저장한다. 쿠키 정보는 악용될 경우 보안 문제가 발생할 수 있기 때문에 이에 대비한 조치가 필요합니다.

- 기본적으로 웹 브라우저가 방어책을 자체적으로 구현하고 있다. 예를 들면, 쿠키가 생성된 웹 서버와 동일한 도메인을 사용하는 웹 사이트에만 쿠키가 전송되도록 제한하거나, 이미 저장된 쿠키들이 있다면 유효기간을 확인하고 유효기간이 지난 것은 자동으로 폐기하기도 합니다.


쿠키를 사용해서 주고받는 정보

- 유출되었을 때 보안 문제가 생길 만한 정보는 클라이언트의 쿠키에 저장하지 말아야 합니다. 기본적으로 각종 정보는 서버 쪽에 저장하는 것이 원칙이고, 동일한 사용자인지 확인하기 위해 세션 ID 등의 식별 정보만 클라이언트에 쿠기로 저장하도록 제한해야 합니다.

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

05_파일을 전송하는 FTP  (0) 2018.03.25
04_P2P(peer to peer)  (0) 2018.03.25
02_2 웹 페이지를 전송하는 HTTP  (0) 2018.02.11
02_1 애플리케이션 계층  (0) 2018.02.11
01_소켓  (0) 2018.02.04