왜 CORS가 필요한가에 대한 짧은 역사
- CORS는 악의를 가진 해커로부터 인터넷을 보호하기 위해 탄생
- 과거 수 년 동안, 한 사이트의 스크립트에서 다른 사이트에 있는 콘텐츠에 접근할 수 없다는 제약
과거의 COR 회피 트릭
- 많은 웹 개발자들이 강력한 기능을 원하기 시작하면서 위와 같은 제약을 피해 다른 웹 사이트에 요청을 보내기 위한 트릭들을 만들기 시작
COR 요청 허가
- 하지만 긴 논의 끝에 크로스 오리진 요청을 허용하기로 결정
- 대신 크로스 오리진 요청은 서버에서 명시적으로 크로스 오리진 요청을 ‘허가’ 하는지 안 하는지를 알려주는 특별한 헤더를 전송받았을 때만 가능하도록 제약
- 일반적인 simple 요청 (GET POST)
- 일반적이지 않은 non-simple 요청 (PUT DELETE)
- 자격 증명
- 크로스 오리진 요청시
Referer
헤더로 요청 시작 페이지 알 수 있음에도 Origin
헤더 써줘야 하는 이유
퀴즈
- COR가 왜 필요할까
- 과거의 COR 회피 트릭 2가지 설명하시오
- 일반적인 크로스 오리진
simple 요청(GET, POST)
이 일어나는 과정을 설명하시오
- 일반적이지 않은 크로스 오리진
non-simple 요청(PUT, DELETE)
이 일어나는 과정을 설명하시오
- 크로스 오리진 요청시
자격증명
이 일어나는 과정을 설명하시오
- 크로스 오리진 요청시
Referer
헤더로 요청 시작 페이지 알 수 있음에도 Origin
헤더 써줘야 하는 이유