Node.js는 서버 측 애플리케이션과 API를 구축하는 데 매우 널리 사용되는 JavaScript 런타임 환경입니다. CORS(Cross-Origin Resource Sharing)는 RESTful API를 기반으로 웹 애플리케이션을 구축하거나 JavaScript 애플리케이션을 개발할 때 필수적인 기능입니다. CORS를 사용하면 브라우저가 도메인 간 세부 정보를 모르거나 프록시 서버를 사용하지 않고도 다른 도메인 이름이나 다른 포트에서 리소스를 요청할 수 있습니다. 이 기사에서는 Node.js를 사용하여 교차 출처 요청을 허용하도록 설정하는 방법에 대해 설명합니다.
CORS(교차 원본 리소스 공유)는 웹 애플리케이션이 다양한 도메인 이름, 다양한 포트 또는 다양한 프로토콜의 리소스를 요청하고 응답할 수 있도록 하는 웹 애플리케이션의 보안 메커니즘입니다. 예를 들어, JavaScript 및 AJAX를 사용하여 한 도메인에서 다른 도메인으로 데이터를 요청하는 경우 교차 도메인 요청을 처리해야 합니다. 브라우저의 동일 출처 정책으로 인해 브라우저는 일반적으로 보안 위험이 있는 다른 도메인의 리소스 요청을 허용하지 않습니다.
Node.js 환경에서는 CORS 모듈을 사용하여 도메인 간 요청을 허용하도록 설정할 수 있습니다. CORS 모듈은 도메인 간 요청을 처리하기 위한 미들웨어를 제공합니다. npm 명령을 사용하여 모듈을 설치할 수 있습니다.
npm install cors
설치 후 애플리케이션에서 CORS를 사용할 수 있습니다. 다음은 간단한 예입니다.
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); app.get('/api/data', (req, res) => { // 处理 GET 请求 }); app.post('/api/data', (req, res) => { // 处理 POST 请求 }); app.listen(3000, () => { console.log('Server is listening on port 3000'); });
위의 예에서는 Express 및 CORS 모듈을 도입하고 app.use(cors())
문을 사용하여 Express 애플리케이션에서 CORS를 활성화했습니다. 이를 통해 각 요청을 개별적으로 처리할 필요 없이 모든 소스에서 GET, POST 등 유형의 요청을 수행할 수 있습니다. app.use(cors())
语句在 Express 应用程序中启用 CORS。这允许从任何来源发起 GET、POST 等类型的请求,而不需要对每个请求进行单独处理。
如果需要更多的控制权和灵活性,我们可以使用 CORS 模块提供的配置选项。以下是一些常用的高级设置:
*
,即所有来源均可。'GET,HEAD,PUT,PATCH,POST,DELETE'
。以下是一些示例:
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors({ origin: 'http://localhost:8080', methods: ['GET', 'POST'], allowedHeaders: ['Content-Type', 'Authorization'], exposedHeaders: ['Content-Length', 'X-Foo', 'X-Bar'], credentials: true, maxAge: 86400, preflightContinue: false })); app.get('/api/data', (req, res) => { // 处理 GET 请求 }); app.post('/api/data', (req, res) => { // 处理 POST 请求 }); app.listen(3000, () => { console.log('Server is listening on port 3000'); });
在以上示例中,我们使用了 cors()
origin: 허용되는 요청 소스를 지정합니다. 기본값은 *
입니다. 즉, 모든 소스가 허용됩니다.
'GET,HEAD,PUT,PATCH,POST,DELETE'
입니다. 🎜🎜allowedHeaders: 허용되는 요청 헤더 배열을 지정합니다. 기본값은 빈 배열입니다. 즉, 모든 요청 헤더가 허용됩니다. 🎜🎜exposedHeaders: 클라이언트에 노출되는 응답 헤더의 배열을 지정합니다. 기본값은 빈 배열입니다. 🎜🎜credentials: 교차 도메인 쿠키 수신을 허용하도록 지정합니다. 기본값은 false입니다. 🎜🎜maxAge: 실행 전 요청의 유효 시간(초)을 지정합니다. 기본값은 86400(즉, 1일)입니다. 🎜🎜preflightContinue: 실행 전 요청 처리를 계속할지 여부를 지정합니다. 기본값은 false입니다. 🎜cors()
의 구성 옵션을 사용하여 허용된 요청 소스를 지정하고 교차 도메인 쿠키 수신을 허용했습니다. . 이러한 옵션은 사례별로 설정할 수 있습니다. 🎜🎜🎜요약🎜🎜🎜이 기사에서는 Node.js를 사용하여 도메인 간 요청을 허용하도록 설정하는 방법에 대해 논의했습니다. CORS는 도메인 간 요청을 허용하는 매우 중요한 웹 애플리케이션 보안 메커니즘으로, 웹 애플리케이션 간의 데이터 상호 작용을 더욱 간단하고 안전하게 만듭니다. Node.js를 사용하여 애플리케이션을 구축할 때 CORS 모듈을 사용하여 교차 출처 요청을 쉽게 처리할 수 있습니다. 🎜위 내용은 Node.js를 사용하여 도메인 간 요청을 허용하도록 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!