← 목록

CORS 이해하기: 웹 개발자를 위한 완벽한 가이드 🌐

작성: 2025년 09월 20일읽기: 약 3분

웹 개발을 하다 보면, 여러분의 웹사이트가 다른 출처의 리소스를 필요로 할 때가 있습니다. 이때, CORS, 즉 Cross-Origin Resource Sharing에 대해 알아야 합니다. CORS는 웹 페이지가 다른 도메인의 리소스에 접근할 수 있게 해주는 메커니즘입니다. 그렇지 않으면, 보안상의 이유로 브라우저는 이러한 요청을 차단합니다.

CORS는 왜 중요할까요?

웹 개발에서는 서로 다른 출처에서 데이터를 가져오거나 API를 사용하는 경우가 많습니다. 예를 들어, 여러분의 웹 애플리케이션이 사용자의 프로필 사진을 다른 서버에서 가져와야 할 수도 있습니다. 이때 CORS 정책이 없다면, 보안 문제로 인해 브라우저가 이러한 요청을 차단합니다.

간단한 예제로 CORS 이해하기

웹 개발에 있어서 CORS를 이해하는 가장 좋은 방법은 간단한 예제를 통해 보는 것입니다. 아래는 간단한 AJAX 요청 예제입니다.

fetch('https://example.com/data', {
  method: 'GET', // HTTP 요청 메소드
})
.then(response => response.json()) // 응답을 JSON으로 파싱
.then(data => console.log(data)) // 데이터 처리
.catch(error => console.error('Error:', error)); // 오류 처리

이 코드는 https://example.com/data에서 데이터를 가져오려고 시도합니다. 만약 example.com 서버가 여러분의 출처(도메인)에서의 요청을 허용하는 CORS 헤더를 설정하지 않았다면, 이 요청은 실패할 것입니다.

서버에서 CORS 설정하기

서버 측에서 CORS를 설정하는 것은 간단합니다. 예를 들어, Node.js의 Express 프레임워크를 사용하는 경우, 다음과 같이 할 수 있습니다.

const express = require('express');
const cors = require('cors');
const app = express();

app.use(cors()); // 모든 도메인에서의 요청을 허용

app.get('/data', (req, res) => {
  res.json({ message: '이것은 CORS가 활성화된 데이터입니다.' });
});

app.listen(3000, () => {
  console.log('서버가 3000번 포트에서 실행 중입니다.');
});

이 코드는 모든 출처에서의 요청을 허용합니다. 특정 도메인에서만 요청을 허용하려면, cors 미들웨어에 옵션을 설정할 수 있습니다.

결론

CORS는 웹 개발에서 중요한 개념 중 하나입니다. 다른 출처의 리소스를 안전하게 사용하려면, CORS를 올바르게 이해하고 설정하는 것이 중요합니다. 이 가이드가 여러분이 CORS를 이해하는 데 도움이 되었기를 바랍니다. Happy coding! 🚀