Cross Origin Resource Sharing
다른 도메인으로부터 리소스가 필요한 경우 Cross-site http request 가 필요하는데, 이때, XMLHttpRequest 가 cross-domain 을 요청할 수 있도록 하는 방법
→ 만약 모든 곳에 데이터 요청이 가능하다면 피싱 사이트 들이 로그인 세션을 탈취해 악용할 수 있다. 필요한 경우에만 서버와 협의하여 요청할 수 있도록 하기 위해 필요
CORS 종류
- Simple Request
- 서버로 요청
- 응답이 왔을 때 유효한 요청이라면 리소스를 응답
- 아니라면 브라우저가 이를 막고 에러 발생
- Preflight Request
- 현재 요청 origin 과 헤더에 요청하는 Http method 와 헤더를 서버에 요청 (내용물 x )
- 브라우저가 서버에서 응답한 해더를 보고 유효한 요청인지 확인 → 맞다면 다시 요청하여 리소스 응답
- 아니라면 에러 발생
- Credential Request
- Non-credential Request