Origin
Access-Control-Request-Method
Access-Control-Request-Headers실제 요청의 의도를 미리 보낸다.브라우저는 실제 요청 전에 OPTIONS로 허용 범위를 묻는다
단순 요청을 벗어나면 브라우저는 메서드와 헤더가 허용되는지 먼저 확인한다. 허용 응답이 맞아야 실제 요청을 보낸다.
Allow-Origin
Allow-Methods
Allow-Headers
Max-Age허용 범위와 캐시 가능 시간을 돌려준다.POST / PUT / DELETE...검사가 통과하면 실제 요청이 전송된다.| 판단 요소 | 왜 필요한가 |
|---|---|
| Origin | 어느 출처가 API를 읽을 수 있는지 결정한다. |
| Method | GET은 허용해도 DELETE는 막을 수 있다. |
| Headers | Authorization 같은 비단순 헤더를 별도로 허용해야 한다. |
| Max-Age | preflight 결과를 캐시해 반복 OPTIONS 비용을 줄인다. |
주의: preflight가 실패하면 실제 요청 자체가 보내지지 않을 수 있다. 서버 로그에는 OPTIONS만 보일 수 있다.