Network

CORS 와 CORB

CORB(Cross-Origin Read Blocking)와 CORS(Cross-Origin Resource Sharing)는 웹 보안 정책에서 사용되는 개념이지만, 서로 다른 목적과 구현 방법을 가지고 있다.

CORS (Cross-Origin Resource Sharing)

  • CORS는 서버가 어떤 출처(origin)의 페이지가 자신의 자원에 접근할 수 있는지를 브라우저에 알려주는 방법이다. 이 정책은 웹 페이지가 다른 도메인의 자원을 요청할 수 있도록 허용하는 메커니즘을 제공한다. 예를 들어, 웹사이트가 다른 도메인에서 호스팅되는 이미지, 폰트, 스타일시트 또는 스크립트를 로드할 수 있도록 해준다.
  • 서버는 Access-Control-Allow-Origin 헤더를 사용하여 특정 출처의 접근을 허용하거나 거부할 수 있다. 만약 이 헤더가 포함되어 있지 않다면, 기본적으로 다른 출처의 리소스 접근은 금지된다.

CORB (Cross-Origin Read Blocking)

  • CORB는 민감한 정보가 포함된 리소스가 사이트 간 요청에 의해 외부로 노출되는 것을 막기 위한 추가적인 보안 조치이다. CORB는 크로스 오리진 HTML, XML, JSON 파일을 포함한 리소스에 대한 브라우저의 파싱을 차단하여, 이러한 자원이 악의적인 웹사이트로부터 읽혀지는 것을 방지한다.
  • 예를 들어, CORB는 웹사이트가 사용자 정보를 담은 JSON 파일을 요청하는 경우, 그 JSON 파일의 내용이 보호된 콘텐츠인지를 확인하고, 보호된 경우 해당 콘텐츠를 로드하지 않도록 한다. 이는 XSS(크로스 사이트 스크립팅) 공격과 같은 보안 위협을 줄이는 데 도움을 준다.
요약하자면, CORS는 다른 출처의 리소스를 안전하게 사용할 수 있도록 허용하는 정책이고, CORB는 보안상 민감한 정보를 외부에 노출되지 않도록 보호하는 정책이다. 이 두 메커니즘은 웹의 보안을 강화하는 데 함께 작용한다.