Origin, SOP, CORS

2025. 5. 13. 22:14·Network

Origin

  • 웹 브라우저에서 출처(origin)를 판단하는 기준
  • 구성 요소: 프로토콜 + 호스트 + 포트
  • 모든 요소가 일치해야 같은 origin
  • 다르면 다른 origin으로 간주 (SOP 적용 대상)
  • 예시
    • http://example.com:80 vs https://example.com:80 → 다른 origin (프로토콜 다름)
    • http://example.com vs http://api.example.com → 다른 origin (도메인 다름)
    • http://example.com:80 vs http://example.com:8080 → 다른 origin (포트 다름)
    • http://example.com:80 vs http://example.com → 같은 origin (포트 생략 시 기본 포트 적용)
  • 웹 보안 정책(SOP, CORS)에서 중요한 기준

SOP (Same-Origin Policy)

  • 웹 브라우저의 기본 보안 정책
  • 같은 출처(origin)에서만 자원 접근 허용
  • 출처 = 스킴(프로토콜) + 호스트(도메인) + 포트
  • 예: http://a.com:80, https://a.com, http://b.com → 모두 다른 출처
  • 다른 출처 자원 접근 시 차단
  • 차단 대상: DOM 접근, 쿠키, 로컬스토리지 등
  • 보안 목적: 악의적 스크립트로부터 보호
  • 예: a.com에서 b.com의 사용자 데이터 접근 시도 차단

세 가지가 동일해야하지만 동일출처(프로토콜, 포트번호, 호스트)

CORS (Cross-Origin Resource Sharing)

  • SOP의 제약을 완화하기 위한 표준
  • 서버가 허용된 출처에 자원 공유 허용
  • 브라우저가 요청 전 OPTIONS 방식의 Preflight(예비)전송
  • 서버가 응답 헤더로 허용 출처 명시
  • 주요 응답 헤더
    • Access-Control-Allow-Origin: 허용할 출처
    • Access-Control-Allow-Methods: 허용할 메서드
    • Access-Control-Allow-Headers: 허용할 헤더
    • Access-Control-Allow-Credentials: 쿠키 등 자격정보 포함 허용
  • 예: 프론트 a.com → 백엔드 api.b.com 호출 시 CORS 필요
  • 서버가 명시적으로 허용해야 브라우저가 응답 사용

'Network' 카테고리의 다른 글

HTTP  (0) 2025.05.13
명령어와 설정 도구  (0) 2025.05.13
네트워크 통신 방식  (0) 2025.05.13
TCP, UDP, ICMP  (0) 2025.05.13
데이터 전송 구조와 캡슐화  (0) 2025.05.13
네트워크 장비와 통신 흐름  (0) 2025.05.13
'Network' 카테고리의 다른 글
  • HTTP
  • 명령어와 설정 도구
  • 네트워크 통신 방식
  • TCP, UDP, ICMP
jaeon.cloud
jaeon.cloud
  • jaeon.cloud
    JEONG JAE ON
    jaeon.cloud
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • Docker (8)
      • Cloud (7)
      • AWS (14)
      • Network (9)
      • Linux (1)
      • Python (7)
      • Javascript (3)
      • React (5)
      • Project (3)
      • Kubernetes (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    cors
    Python
    3-tier Architecture
    클라우드
    docker
    AWS
    lambda
    http
    kubernetes
    네트워크
    react
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jaeon.cloud
Origin, SOP, CORS
상단으로

티스토리툴바