자세한 사항은 아래 사이트의 2번째 Answer을 참고하자
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 |