js..난 네가 싫어..

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/278f9299-b30b-41b9-afab-4e11caef6c3c/Untitled.png

저번 쿠키대모험에서도 알 수 있었듯...서버와 브라우저는 js 요청을 싫어한다 (보안상의 이유)

그래서 접근하기 위해서는 서버의 허락(?)이 필요하다

그때 사용된 것이 @CrossOrigin 과 HttpOnly 속성을 해제하는 것이었음!!

🤔 CrossOrigin? CORS? 도대체 모죠

⇒ 자바스크립트랑 관련이 있는 것!!

모질라에 있는 CORS의 정의를 빌려오자면 CORS는 특정 헤더를 통해서 브라우저에게 한 출처(origin) 에서 실행되고 있는 웹 애플리케이션이 다른 출처(cross-origin) 에 원하는 리소스에 접근할 수 있는 권한이 있는지 없는지를 알려주는 매커니즘이다. 여기서 origin 이란 특정 페이지에 접근할 때 사용되는 URL의 Scheme(프로토콜), host(도메인), 포트 를 말한다. 그래서 same-origin 이란 scheme(프로토콜), host(도메인), 포트가 같다는 말이며, 이 3가지 중 하나라도 다르면 cross-origin 이다.

HTML은 기본적으로 Cross origin 요청이 가능 (정책을 따르기 때문에)

script 태그 내에 있는 HTTP 요청 (여기서는 fetch 의 경우) 에 대해서는

기본적으로 Same-Origin 정책을 따름 → Cross-Origin 요청이 불가능

출처: https://vvshinevv.tistory.com/60

🤔 Preflight ?