본문 바로가기
개발 이모저모

cors 에러는 무엇인가.

by 코딩의 세계 2025. 9. 1.
cors는 결국 "백엔드"에서 해결해야 함.
 
 
CORS 오류(Cross-Origin Resource Sharing error)는 브라우저의 보안 기능인 동일 출처 정책(Same-Origin Policy)으로 인해, 다른 출처(origin)의 리소스를 요청할 때 발생하는 차단 현상을 말한다. 
 
이 오류는 웹 애플리케이션에서 다른 도메인, 프로토콜, 포트의 서버로부터 데이터를 가져오려고 할 때 발생하며,
서버에서 Access-Control-Allow-Origin 헤더를 통해 허용된 출처를 명시하거나,
요청을 보내는 클라이언트에서 프록싱하는 등의 방식으로 해결할 수 있다. 
 
CORS 오류의 원인: 동일 출처 정책(SOP)
  • 기본 보안 메커니즘:
    웹 브라우저는 악의적인 웹사이트가 다른 웹사이트의 데이터를 무단으로 가져가지 못하도록 동일 출처 정책(SOP)을 따른다. 
     

CORS 에러 발생 시 확인 사항
  1. 1. 브라우저 개발자 도구 확인:
    오류가 발생한 페이지에서 F12 키를 눌러 개발자 도구를 열고, Console 탭에서 "Cross-Origin Request Blocked"와 같은 CORS 에러 메시지를 확인한다. 
     
    2. 요청한 출처 확인:
브라우저의 네트워크 탭에서 CORS 에러가 발생한 요청을 확인하고, 클라이언트가 요청을 보낸 출처(Origin)와 서버의 출처가 다른지 확인한다.
 
CORS 오류 해결 방법
 
CORS 오류 해결은 서버 측에서 CORS 정책을 설정하거나, 클라이언트 측에서 요청 방식을 변경하는 방식으로 이루어진다.

 
서버 측 해결 방법 (권장) >
  • Access-Control-Allow-Origin 헤더 설정: 서버의 응답에 Access-Control-Allow-Origin 헤더를 추가하여, 허용할 클라이언트의 출처를 명시적으로 지정한다. 
  • 모든 출처 허용`Access-Control-Allow-Origin: *`와 같이 모든 출처를 허용하는 설정은 간단하게 해결할 수 있지만, 보안상 권장되지 않는다.
  • Access-Control-Allow-MethodsAccess-Control-Allow-Headers 헤더 설정특정 HTTP 메서드(GET, POST 등)나 헤더만 허용해야 하는 경우, 해당 헤더들을 추가로 설정한다.
클라이언트 측 해결 방법 >

프록시 서버 사용자신의 서버를 통해 다른 출처의 리소스를 요청하는 프록싱(Proxying) 방식으로 CORS 에러를 우회할 수 있다.


 
 

개발자 단민 | CORS 에러를 프론트에서 해결? 무시? 아무튼? 해보자!

CORS 에러는 터지는데.. 아무힘이 없는 프론트 개발자가 과연 무얼 할 수 있을까?   CORS란? CORS (Cross-Origin Resource Sharing)는 웹 어플리케이션에서 다른 도메인의 리소스에 접근할 때 발생하는 보안

www.jeong-min.com


 

'개발 이모저모' 카테고리의 다른 글

제대로 이해하는 RESTful - API  (10) 2025.09.02
HTTP 상태 코드(1XX ~ 5XX) 종류 총정리  (3) 2025.09.01
Http Method 란? (GET, POST, PUT, DELETE)  (1) 2025.07.10
맥북 스크린샷 꿀팁(?)  (2) 2025.07.09
NotebookLM이란?  (1) 2025.06.17