Develop Story
[Web] 사전 요청 (Preflight Request)
IFLA
2022. 12. 6. 21:09
사전 요청(Preflight Request) 란?
브라우저에서 본 요청(Cross-Origin Actual Request)을 하기 전에, Option Method로 사전 요청(Preflight Request)를 전송하고, 요청받은 서버에서 어떤 Origin과 Method에 대하여 접근을 허용하는 지 브라우저에 알려준다.
출처 : https://developer.mozilla.org/ko/docs/Web/HTTP/CORS
HTTP Header
- Access-Control-Request-Method
- Access-Control-Request-Headers
- Origin
- Access-Control-Request-Method :
preflight
요청을 할 때 실제 요청에서 어떤 메서드를 사용할 것인지 서버에게 알리기 위해 사용된다. - Access-Control-Request-Headers :
preflight
요청을 할 때 실제 요청에서 어떤 header를 사용할 것인지 서버에게 알리기 위해 사용된다.
HTTP Request Header
- HTTPMethod("OPTIONS")
프리 플라이트 요청(Preflight Request)이 필요한 경우에만 나타나므로 단순 요청(simple requests)의 경우에는 사전 요청이 생략된다.
Simple Request (단순 요청)
- 다음 중 하나의 메소드를 사용한 경우 : GET, HEAD, POST
- Fetch 명세에서 "CORS-safelisted request-header"로 정의한 Header
- Accept
- Accept-Language
- Content-Language
- Content-Type
- DPR
- Downlink
- Save-Data
- Viewport-Width
- Width
- Content-Type에 아래와 같이 선언
- application/x-www-form-urlencoded
- multipart/form-data
- text/plain