✈️CORS preflight 필요 여부 판정기

세 조건으로 선행 요청 판정

헤더safelist 여부비고

요청·응답 헤더 예시


            
            

판정 기준은 WHATWG Fetch 규격의 CORS-safelisted 요청 헤더·메서드 정의입니다(2026년 10월 확인). User-Agent 처럼 브라우저가 자동으로 붙이는 헤더는 입력하지 않아도 됩니다. 이 도구는 실제 요청을 보내지 않고 입력한 조건만으로 판정합니다.

관련된 도구

CORS preflight 판정기 사용법

메서드를 고르고 Content-Type 과 직접 설정한 헤더 이름을 넣으면 본 요청 앞에 OPTIONS 선행 요청이 붙는지 판정합니다. 헤더는 한 줄에 하나씩 또는 쉼표로 이어 씁니다. 표에는 헤더별 safelist 여부가, 그 밑에는 교환되는 헤더 예시가 나옵니다.

판정 기준과 근거

WHATWG Fetch 규격의 CORS-safelisted 정의를 적용했습니다(2026년 10월 확인). 메서드가 GET·HEAD·POST 이고, 직접 설정한 헤더가 Accept·Accept-Language·Content-Language·Content-Type·Range 뿐이며, Content-Type 이 application/x-www-form-urlencoded·multipart/form-data·text/plain 중 하나일 때만 선행 요청이 생략됩니다.

한계와 주의사항

입력한 조건만으로 판정하며 실제 요청을 보내지 않습니다. Range 처럼 값 제약이 있는 헤더는 이름만 봅니다. 쿠키 전송이나 Access-Control-Max-Age 는 다루지 않습니다.

자주 묻는 질문

preflight 가 왜 갑자기 생겼을까?

세 조건 중 하나가 깨졌을 때 생깁니다. 가장 흔한 것은 Authorization 추가이고, 그다음이 Content-Type 을 application/json 으로 바꾼 경우입니다.

"simple request" 라고 부르면 안 될까?

옛 CORS 문서의 용어이고 Fetch 규격은 쓰지 않습니다. 규격에는 safelisted 메서드와 safelisted 요청 헤더만 정의돼 있습니다.

브라우저가 붙이는 헤더도 넣어야 할까?

아닙니다. User-Agent 처럼 브라우저가 관리하는 헤더는 판정에 영향이 없으니, 코드에서 직접 넣은 이름만 적으세요.