□ 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 |