
593
15.11 네트워크
fetch()
는 보통 웹 애플리케이션이 자신의 웹 서버에 데이터를 요청할 때 가장 많
이 사용합니다.
fetch()
에 전달되는 URL이 요청을 보내는 스크립트를 포함하는 문
서와 같은 출처(프로토콜, 호스트 이름, 포트)를 사용하므로 이런 요청을 동일 출처
요청이라 부릅니다.
웹 브라우저는 일반적으로 보안을 위해 교차 출처 네트워크 요청을 거부합니다.
(이미지와 스크립트는 대개 예외입니다.) 교차 출처간 자원 공유(CORS)를 사용하
면 교차 출처 요청도 안전하게 보낼 수 있습니다. 교차 출처 URL에
fetch()
를 사용
하면 브라우저는 요청에 Origin 헤더를 추가해서 (이 헤더는
headers
프로퍼티로
덮어 쓸 수 없습니다) 웹 서버에 요청이 다른 출처에서 온 것임을 알립니다. 서버가
적절한 Access-Control-Allow-Origin 헤더와 함께 요청에 응답하면 요청이 계속 수
행되지만, 그렇지 않고 서버에서 명시적으로 요청을 허용하지 않는다면
fetch()
가
반환하는 프라미스는 거부됩니다.
사용자가 취소 버튼을 클릭하거나 요청이 너무 오랫동안 수행될 경우
fetch()
요청
을 취소해야 할 수도 있습니다. fetch API는 AbortController와 AbortSignal ...