클라이언트와 서버가 서로 다른 origin에 있는 경우가 있으므로 CORS 기술이 도입되었다.
서버 쪽에서 클라이언트를 대상으로 리소스의 허용여부를 결정하는 방법이다.
클라이언트는 서버가 어떤 origin 요청을 허용하는지를 알 수 없습니다.
같은 origin에서 fetch를 시도하면 CORS문제가 발생하지 않는다.
클라이언트에서 요청을 보낸 후, 서버로부터 받은 Access-Control-Allow-Origin 헤더 속성을 통해서 접속 가능 여부를 확인합니다.
위 URL의 구성 중 origin을 구분하는 기준은 "프로토콜", "호스트(도메인)", "포트 번호"입니다.
예시) https://urclass.codestates.com:3000/course/56/curriculum
https: 프로토콜, urclass.codestates.com: 호스트(도메인), :3000: 포트 번호, /course/56/curriculum: URL pathname
preflight request에 대한 설명으로 옳은 것을 모두 고르시요.
실질적인 요청 전, OPTIONS 메서드를 통해 발생한다.
실제 요청이 안전한지 서버가 미리 파악할 수 있도록 하는 수단이다.
모든 cross origin 요청이 preflight request를 발생시키는 것은 아니다. cross origin 요청에는 Simple requests, Preflight requests, Requests with credentials 등이 있는데 이중 preflight requests만 OPTIONS 메서드를 통해 요청을 확인합니다.
ERR_INTERNET_DISCONNECTED: 사용중인 기기가 인터넷에 연결되지 않았다.
EER_BAD_SSL_CLIENT_AUTH_CERT: 클라이언트 인증서(은행 또는 회사 내부 웹사이트 등)에 오류가 발생하여 웹페이지에 로그인 할 수 없습니다.
Aw, Snap!: Chrome 브라우저에서 페이지를 로드하는데 문제가 발생했습니다.
ERR_NAME_NOT_RESOLVED: 호스트 이름(웹 주소)가 존재하지 않습니다.