OPTIONS 메서드 — 가장 지루한 HTTP 메서드, 당신의 API를 계속 깨뜨리는
Source: Dev.to
OPTIONS 메서드 문제
OPTIONS는 아무도 신경 쓰지 않는 HTTP 메서드입니다. 그래서 프로덕션에서 팀을 계속 괴롭히는 이유이기도 합니다.
API가 완전히 정상적인 OPTIONS 요청에 대해 400 Bad Request를 반환한다면, 그것은 “엄격하게” 동작하는 것이 아니라… HTTP를 제대로 사용하지 않는 것입니다.
- 브라우저는 OPTIONS를 사용합니다.
- 게이트웨이는 OPTIONS를 사용합니다.
- SDK는 OPTIONS에 의존합니다.
그리고 이것이 실패하면, 아무도 먼저 OPTIONS를 디버깅하지 않고 CORS, 프록시, 방화벽, 혹은 “그 프론트엔드 개발자”를 탓합니다.
Rentgen은 이를 Fail로 표시합니다. 경고가 아니라, 왜냐하면 깨진 메서드 의미론은 보기만 해도 못생긴 것이 아니라, 가장 지루하고 시간 낭비적인 방식으로 실제 통합을 깨뜨리기 때문입니다.
API가 REST‑ish라고 주장한다면, OPTIONS는 선택 사항이 아닙니다.
전체 이야기 (예시, 왜 깨지는지, 그리고 올바르게 고치는 방법):
https://rentgen.io/api-stories/options-method-handling.html