CORS(Cross Origin Resource Sharing) 초간단 정리 및 링크

by 스뎅(thDeng) on

관련 링크

Spring CORS sample

Enabling Cross Origin Requests for a RESTful Web Service

간단한 설정으로 API 마다 origin 설정을 할 수 있다.

@CrossOrigin(origins = "http://localhost:9000")
@GetMapping("/greeting")
public Greeting greeting(@RequestParam(required=false, defaultValue="World") String name) {
    System.out.println("==== in greeting ====");
    return new Greeting(counter.incrementAndGet(), String.format(template, name));
}

결론

이미지나 css 같은 파일은 다른 도메인에서 가져올 수 있으나 script는 보안상의 문제로 single-origin policy로 인해 동일한 도메인이 아니면 실행되지 않는다. 하지만, 지금은 이 정책이 정해질 때의 상황과는 많이 바뀌었기 때문에, 어떤 면에서는 낚은 정책이 되었다. 그동안 꼼수로 쓰던 JSONP는 GET만 호출 가능했지만, 필요가 많아짐에 따라 CORS 추가됐다. (JSONP 이외에 클라이언트 브라우저 플러그인으로 동일한 도메인인듯이 속여서 호출하는 방법을 쓰기도 했다.)

CORS 요약

별도로 명시하지 않을 경우, 이 블로그의 포스트는 다음 라이선스에 따라 사용할 수 있습니다: Creative Commons License CC Attribution-NonCommercial-ShareAlike 4.0 International License