쿠키와 세션
쿠키
쿠키(Cookie)
는 Key
와 Value
로 이루어진 일종의 단위로, 서버가 클라이언트에게 쿠키를 발급하면, 클라이언트는 서버에 요청을 보낼 때마다 쿠키를 같이 전송한다. 서버는 쿠키를 확인해 클라이언트를 구분할 수 있다. HTTP 프로토콜의 비연결성
과 무상태
특징 때문에 웹 서버는 클라이언트를 기억할 수 없다. HTTP에서 상태를 유지하기 위해 쿠키가 탄생했다.
세션
세션(Session)
은 인증 정보를 서버에 저장하고 해당 데이터에 접근할 수 있는 키를 만들어 클라이언트에 전달하는 방식으로 작동한다. 브라우저는 해당 키를 쿠키에 저장하고 이후에 HTTP 요청을 보낼 때 사용한다. 서버는 요청에 포함된 키에 해당하는 데이터를 가져와 인증상태를 확인한다. 클라이언트가 인증 정보를 변조할 수 없게 하기 위해 세션을 사용한다.
SOP
SOP(Same Origin Policy)
는 동일 출처 정책이다. 브라우저는 쿠키를 브라우저 내부에 보관하는데, 브라우저는 타 서비스에 접근할 때 쿠키를 함께 전송하는 특징을 갖고 있다. 이 특징 때문에 악의적인 페이지에서 읽을 수 없도록 하기 위한 것이 브라우저 보안 메커니즘인 동일 출처 정책이다.
CORS
CORS(Cross Origin Resource Sharing)
는 교차 출처 리소스 공유로, HTTP 헤더
에 기반하여 Cross Origin
간에 리소스를 공유하는 방법이다. 발신측에서 CORS 헤더
를 설정해 요청하면, 수신측에서 헤더를 구분해 정해진 규칙에 맞게 데이터를 가져갈 수 있도록 설정한다.
This post is licensed under CC BY 4.0 by the author.