rsp-∞

Cookie & Session 및 SOP 주요 이론 정리 본문

ACADEMY/web

Cookie & Session 및 SOP 주요 이론 정리

portrait.kim 2025. 3. 28. 12:01

1. HTTP 프로토콜 특징

Connectionless 하나의 요청-응답 후 연결이 종료되고, 이후의 요청은 새로운 연결로 처리함
Stateless 서버는 이전 요청의 상태를 저장하지 않으며, 요청마다 새로운 정보를 전달해야 함
서버가 클라이언트를 기억하지 못하므로, 지속적인 사용자 인증이 어렵다는 한계가 있다.

 

 

2. 쿠키 (Cookie)

  • 서버가 클라이언트에 저장하는 Key-Value 형식의 데이터
  • 이후 클라이언트가 요청할 때 해당 쿠키를 서버에 포함하여 보냄.
  • 서버는 쿠키를 이용해 사용자를 식별하고 상태를 유지함.
용도는 다음과 같다.

 

정보 기록 7일 간 표시하지 않기 등의 설정을 저장
상태 유지 로그인 상태를 유지하거나 사용자 맞춤 설정 정보를 저장

 

 

3. 쿠키 변조 문제

  • 쿠키는 클라이언트에 저장되므로, 변조될 위험이 있음. 예를 들어 인증 정보를 쿠키에 직접 저장하면, 공격자가 수정하여 다른 사용자로 위장할 수 있음.
  • 이러한 문제를 해결하기 위해 고안된 것이 세션임.

 

4. 세션 (Session)

  • 클라이언트 인증 정보를 서버에 저장하고, 클라이언트에는 세션 ID(랜덤 문자열)만 전달.
  • 클라이언트는 세션 ID를 쿠키에 저장하고 서버에 전달.
  • 서버는 해당 세션 ID를 조회하여 인증 정보를 확인.
  • 클라이언트가 직접 데이터를 수정할 수 없어 보안성이 높음.

 

5. 동일 출처 정책 (Same Origin Policy, SOP)

  • 보안 강화를 위해 다른 출처(origin)에서 데이터를 가져오는 것을 제한하는 정책
  • 오리진 구성 요소 : 프로토콜 + 호스트 + 포트(이 세 가지가 모두 동일해야 같은 출처로 인식)

 

 

6. 교차 출처 리소스 공유 (CORS)

CORS

  • 서버가 HTTP 응답 헤더를 설정하여 특정 출처에서 리소스를 요청하는 것을 허용하는 방식

JSONP (JSON with Padding) : CORS가 고안되기 전까지 사용, 현재는 보안 취약점이 많아 사용 X

  • <script> 태그를 이용해 다른 출처의 데이터를 요청함.
  • Callback 함수를 활용하여 데이터를 처리함.

 

'ACADEMY > web' 카테고리의 다른 글

웹 기초 주요 이론 정리  (0) 2025.03.26