>웹 프론트엔드 >프런트엔드 Q&A >Nodejs가 옵션 요청을 처리합니다.

Nodejs가 옵션 요청을 처리합니다.

WBOY
WBOY원래의
2023-05-25 10:46:371109검색

HTTP 요청을 할 때 OPTIONS라는 요청이 발생할 수 있습니다. 이는 실제 요청을 보내기 전에 서버가 요청을 허용하는지 확인하는 데 사용되는 실행 전 요청입니다. 이러한 종류의 요청은 GET 또는 POST와 같은 일반적인 요청이 아니기 때문에 서버 측 처리에 문제가 있을 수 있습니다. 이 기사에서는 Node.js를 사용하여 OPTIONS 요청을 처리하는 방법을 다룹니다.

OPTIONS 요청이 무엇인가요?

OPTIONS 요청은 특정 도메인 간 요청이 서버 측에서 허용되는지 확인하는 데 사용되는 HTTP 요청입니다. XMLHttpRequest 개체 또는 Fetch API를 사용하여 도메인 간 요청을 보낼 때 브라우저는 먼저 OPTIONS 요청을 보내 서버가 요청을 지원하는지 확인합니다. 서버로부터 아무런 응답도 받지 못하면 브라우저는 요청 보내기를 거부합니다.

OPTIONS 요청 처리 단계

OPTIONS 요청을 처리하기 전에 먼저 도메인 간 요청을 처리하는 일반적인 방법을 이해하세요. 일반적으로 사용되는 방법은 CORS(Cross-Origin Resource Sharing) 및 JSONP(패딩이 있는 JSON)입니다. 다음으로 CORS를 사용하여 OPTIONS 요청을 처리하겠습니다.

CORS는 브라우저와 서버 간의 도메인 간 통신에 사용되는 표준 HTTP 요청 헤더입니다. Access-Control-Allow-Origin 및 Access-Control-Allow-Methods와 같은 CORS 헤더를 설정하면 특정 도메인 이름에 대한 도메인 간 액세스를 허용하거나 제한할 수 있습니다. 이제 Node.js 애플리케이션에 CORS 헤더를 추가하는 방법을 소개하겠습니다.

  1. Express 프레임워크 설치

먼저 Express 프레임워크를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다:

npm install express
  1. Create Server

다음으로 서버를 생성해야 합니다. Express 서버는 다음 코드를 사용하여 생성하고 시작할 수 있습니다:

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

app.listen(8080, () => {
    console.log(`Server is listening on port 8080`);
});
  1. OPTIONS 요청 처리

express에서는 use 메소드를 사용하여 모든 유형의 경로를 처리할 수 있습니다. OPTIONS 요청을 처리하기 전에 서버가 제대로 실행되는지 테스트하기 위한 기본 경로를 만들어 보겠습니다.

app.use('/', (req, res) => {
    res.send('Hello World!');
});

이제 OPTIONS 요청을 처리해야 합니다. 다음은 기본 예입니다.

app.use('*', (req, res, next) => {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');

    // 跨域请求CORS前置验证时,会发出OPTIONS请求
    if (req.method === 'OPTIONS') {
        res.status(200).end();
    } else {
        next();
    }
});

여기에서는 Express의 use 메소드를 사용하여 모든 경로를 처리합니다. Access-Control-Allow-Origin, Access-Control-Allow-Methods 및 Access-Control-Allow-Headers의 세 가지 CORS 헤더를 설정했습니다. OPTIONS 요청을 처리할 때 서버는 200 OK 응답을 반환해야 합니다. 다른 HTTP 요청은 next() 메서드를 사용하여 다음 경로 핸들러로 전달되어야 합니다.

이것은 Node.js를 사용하여 OPTIONS 요청을 처리하기 위한 기본 단계입니다.

결론

OPTIONS 요청은 서버가 특정 도메인 간 요청을 허용하는지 확인하는 실행 전 요청입니다. 일반적인 요청이 아니기 때문에 서버 측에서 특별히 처리해야 합니다. 이 기사에서는 Node.js에서 CORS를 사용하여 OPTIONS 요청을 처리하는 방법을 다루었습니다. OPTIONS 요청이 발생하면 브라우저가 실제 요청을 처리할 수 있도록 200 OK 응답을 반환해야 합니다.

위 내용은 Nodejs가 옵션 요청을 처리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.