CORS

_dodo_hee·2023년 8월 15일
0

CS

목록 보기
6/6

CORS

CORS(Cross-Origin Resource Sharing)는 출처가 다른 자원들을 공유한다는 뜻

한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념.
즉, 교차되는 출처 자원들의 공유

컴퓨터적으로는,
CORS는 추가 HTTP 헤더를 사용해서 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다.

웹 애플리케이션은 리소스가 자신의 출처(도메인,프로토콜,포트)와 다를때 교차 출처 HTTP 요청을 실행한다.

출처

출처이미지

Protocol + Host + Port 3가지가 같으면 동일 출처(Origin)라고 한다.

동일 출처 정책 (Same-origin policy)

다른 출처로부터 조회된 자원들의 읽기 접근을 막아 다른 출처 공격을 예방한다.

다른 출처 자원을 가져오는 것을 굉장히 제한적으로 허용했고,
SPA, 미디어 중심 웹사이트들이 더 늘어나며 규칙도 늘어났다.

그래서, 다른 출처 리소스에 접근성을 높이기 위해 CORS가 등장

CORS 에러

출처가 다를때

  • Protocol이 다를때
  • Host가 다를때
  • 포트번호가 다를때

헤더 값이 요청의 출처와 일치하지 않는 도메인일 경우

access-control-allow-credentials 가 true로 설정되지 않았거나, access-control-allow-origin 헤더에 있는 값이 허용된 출처가 아닐때

캐시

데이터나 값을 미리 복사해 임시로 저장해 두는 장소

사이트를 불러 올때, 전에 불러왔던 사진을 접속때마다 불러오면 데이터의 낭비를 일으킨다.
캐시를 통해 클라이언트에 저장해둘 수 있고, 주기적으로 비워줘야한다.

실전 예시

그래서 우리가 어떤 기능을 웹사이트에 업데이트 후
다른 누군가가 확인하고 있을때,
예를들어, 업데이트 된 정보가 다른 누군가에게 확인이 되지 않을때, 우리는 캐시를 지워달라고 말한다.

snippet

재사용 가능한 소스코드나 텍스트의 작은 부분을 일컫는 프로그래밍 용어

쉽게 말해 자동완성 기능

profile
무럭무럭 자라나는 도도 개발성장일기

0개의 댓글