프리플라이트 요청은 브라우저가 '복잡한' 교차 오리진 요청을 실제로 보내기 전에, 서버가 그 요청을 허용하는지 OPTIONS 메서드로 미리 확인하는 CORS 사전 점검입니다.
서버가 허용 응답을 주면 본 요청을 진행하고, 허용하지 않으면 본 요청 자체를 보내지 않습니다.
모든 교차 오리진 요청에 프리플라이트가 붙는 것은 아닙니다. 'simple request' 조건(GET/HEAD/POST + 제한된 헤더 + `application/x-www-form-urlencoded`·`multipart/form-data`·`text/plain` 콘텐츠 타입)을 벗어나면 프리플라이트가 발생합니다. 예를 들어 `Content-Type: application/json`으로 PUT을 보내거나 커스텀 헤더(`Authorization`을 커스텀 방식으로, `X-…` 등)를 붙이면 트리거됩니다.
프리플라이트 OPTIONS에는 `Access-Control-Request-Method`·`Access-Control-Request-Headers`가 실리고, 서버는 `Access-Control-Allow-Methods`·`Allow-Headers`·`Allow-Origin`으로 응답합니다. 서버가 `Access-Control-Max-Age`를 주면 브라우저가 이 허가를 일정 시간 캐시해 반복 OPTIONS를 줄입니다. 매 API 호출마다 왕복이 두 번 되면 지연이 커지므로, Max-Age 캐싱과 요청을 simple 조건에 맞추는 설계가 성능에 도움이 됩니다.