본문 바로가기

업무관련

Preflight Request(부제 CORS, OPTIONS Method )

 

자세한 사항은 아래 사이트의 2번째 Answer을 참고하자

 

stackoverflow.com/questions/15381105/cors-what-is-the-motivation-behind-introducing-preflight-requests

 

CORS - What is the motivation behind introducing preflight requests?

Cross-origin resource sharing is a mechanism that allows a web page to make XMLHttpRequests to another domain (from wikipedia). I've been fiddling with CORS for the last couple of days and I think I

stackoverflow.com

CORS란?

보안을 위해서 이다. 

예를들어 은행 사이트 a.com이 있다고하자 

어떠한 유저가 a.com으로 로그인을 한 상태로 Malicious사이트인 b.com으로 접속을 한 상태에서 

b.com에서 Javascipt파일로 a.com의 유저를 삭제하는 DELETE를 사용한다고 하자.

 

만약 CORS를 사용하지 않는사이트면 유저가 삭제될 것이고 

CORS를 사용한다면 Cross-Origin룰에 걸리므로 삭제가 되지 않을것이다.

 

그러므로 브라우저 입장으론 단순히 DELETE요청을 날려 서버가 어떻게 처리하는지 맡기면 될 것이다.

 

Preflight(OPTIONS Method)는 뭔가요?

상단의 예를 통해 CORS가 어떻게 사이트를 보호했는지 보았다.

하지만 만약 서버가 CORS를 지원안한다면?

그러므로 브라우저에서 Delete Request를 할때 preflight를 이용하여 CORS를 지원하는 서버인지 확인을 해야 할 필요성이 있다.

이 Preflight Request는 실제 요청을 하기전에 서버가 CORS를 지원하는지 확인하는 Request이다.

'업무관련' 카테고리의 다른 글

Openssl 명령어  (0) 2020.09.03
Linux 명령어로 Log Parsing하기  (0) 2020.03.08
No-Cache vs No-Store  (0) 2019.07.12