CORS(Cross-Origin Resource Sharing)

2025. 2. 13. 07:43·이론공부/개념

□ CORS(Cross-Origin Resource Sharing)

  • 웹 브라우저에서 실행되는 보안 정책인 동일 출처 정책을 우회 할 수 있도록 도와주는 메커니즘

- 동일 출처 정책(Same-Origin Policy)

  • 브라우저는 보안상 서버의 출처(origin)가 다르면 요청을 차단.
    • 출처(origin) = 프로토콜 + 도메인 + 포트
    • 예를 들어, 아래 두 개의 출처는 다르다.
      • https://example.com (✅ 접근 가능)
      • http://example.com (❌ 차단됨 - 프로토콜 다름)
      • https://api.example.com (❌ 차단됨 - 서브도메인 다름)
  • 동일 출처 정책이 없다면, 악의적인 사이트에서 다른 사이트의 API를 마음대로 호출할 수 있어 보안 문제가 발생할 수 있다.

- CORS 해결방법

  • 서버 측에서 CORS 허용 응답 헤더 추가
@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/api/**")
                .allowedOrigins("https://example.com")  // 허용할 도메인
                .allowedMethods("GET", "POST", "PUT", "DELETE");
    }
}
  • HTTP 응답 헤더로 추가
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Methods: GET, POST, PUT, DELETE

'이론공부 > 개념' 카테고리의 다른 글

객체지향과 SOLID원칙  (0) 2025.02.06
자료구조 - R트리(R-Tree)  (0) 2024.11.16
DB 인덱싱(Database Indexing)  (0) 2024.11.10
기술면접 준비(2)  (1) 2024.09.30
프록시(Proxy)란?  (0) 2024.09.05
'이론공부/개념' 카테고리의 다른 글
  • 객체지향과 SOLID원칙
  • 자료구조 - R트리(R-Tree)
  • DB 인덱싱(Database Indexing)
  • 기술면접 준비(2)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 이론공부
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring N
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring N
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java two-pointer
    개발로드맵
    Java this
    Java 생성자
    java 메서드
    java enhance switch
    java super
    java
    프로그래머스 java 기초 트레이닝
    데이터 크기
    java arrays.copyofrnage()
    java기초
    java 제어자
    데이터 타입
    java 멤버
    java 세수의합
    java 에라토스테네스의 체
    java 유클리드 호제법
    자료구조
    프로그래머스 java 기초트레이닝
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
CORS(Cross-Origin Resource Sharing)
상단으로

티스토리툴바