"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 모든 개발자가 알아야 할 필수 Express 요청 속성

모든 개발자가 알아야 할 필수 Express 요청 속성

2024-11-08에 게시됨
검색:692

ssential Express Request Properties Every Developer Should Know

프로젝트 백엔드에서 작업할 때 요청과 응답을 처리하는 것이 중요합니다. 클라이언트와 서버 간의 원활한 통신을 위해서는 이러한 요청을 효율적으로 관리하는 것이 필수적입니다. 다음은 모든 개발자가 숙지해야 하는 몇 가지 일반적이고 중요한 요청 속성입니다.

1. 요청 IP

Express.js의

req.ip는 요청을 보내는 클라이언트의 IP 주소를 제공하는 요청 개체의 속성입니다. 클라이언트의 IP 주소를 나타내는 문자열을 반환합니다.

프록시 처리:
기본적으로 앱이 프록시 뒤에 있는 경우 req.ip는 실제 클라이언트의 IP가 아닌 프록시의 IP를 반환할 수 있습니다. 올바른 클라이언트 IP를 얻으려면 신뢰 프록시를 설정하여 프록시를 신뢰하도록 Express를 구성할 수 있습니다.

app.set("trust proxy", true);

이제 req.ip는 프록시 뒤에 있는 경우에도 클라이언트의 올바른 IP를 반환합니다.

예:

app.get('/', (req, res) => {
  console.log(req.ip);  // Logs the client's IP address
  res.send(`Your IP address is ${req.ip}`);
});

2. 쿠키 필요

req.cookies를 사용하려면 cookie-parser 미들웨어라는 패키지를 설치해야 합니다. 이 속성은 클라이언트가 쿠키 헤더에서 보낸 쿠키를 가져오는 데 사용됩니다. req.cookies의 쿠키는 서명되지 않았습니다. 이는 조정되거나 확인되지 않았음을 의미합니다. 덜 민감한 데이터에 이 기능을 사용할 수 있습니다

import cookieParser from "cookie-parser";

app.use(cookieParser());

app.get('/example', (req, res) => {
  console.log(req.cookies);  // { cookieName: 'cookieValue' }
});

3. req.signedCookies

req.signedCookies를 사용하려면 cookie-parser 미들웨어라는 패키지를 설치해야 합니다. 여기에는 변경되지 않았음을 확인하기 위해 서명되고 검증된 쿠키가 포함되어 있습니다. 서명된 쿠키는 비밀 키로 암호화됩니다. req.signedCookies는 검증을 통과한 쿠키만 저장합니다.

서명된 쿠키를 설정하는 방법:
서명된 쿠키를 설정하려면 signed: true 옵션을 사용할 수 있습니다:

res.cookie('signedCookieName', 'signedValue', { signed: true });

예:

import cookieParser from "cookie-parser";

app.use(cookieParser('your-secret-key'));

app.get('/example', (req, res) => {
  console.log(req.signedCookies);  // { signedCookieName: 'signedValue' }
});

4. 필수 매개변수

Express.js의

req.params는 요청 URL의 경로 매개변수를 포함하는 객체입니다. 경로 매개변수는 경로 경로에 이름이 지정된 자리 표시자이며 req.params는 해당 자리 표시자의 URL에 클라이언트가 제공한 값을 저장합니다.
매개변수 이름 앞에 콜론(:)을 사용하여 매개변수가 있는 경로를 정의할 수 있습니다.

예:

app.get('/users/:userId', (req, res) => {
  console.log(req.params); // { userId: 'valueFromURL' }
  res.send(`User ID is ${req.params.userId}`);
});

5. 요청 쿼리

Express.js의

req.query는 요청 URL의 쿼리 문자열 매개변수를 포함하는 개체입니다. 쿼리 문자열은 ? 뒤에 오는 키-값 쌍입니다. URL에 추가 데이터를 서버에 전달하는 데 사용됩니다. &.

를 사용하여 여러 쿼리를 전달할 수 있습니다.

예제 URL:

http://example.com/search?term=flowers&sort=asc

예:

app.get('/search', (req, res) => {
  console.log(req.query);  // { term: 'flowers', sort: 'asc' }
  res.send(`Search term: ${req.query.term}, Sort order: ${req.query.sort}`);
});

6. 요청본문

클라이언트가 보낸 데이터의 키-값 쌍이 포함되어 있습니다. 기본적으로 해당 값은 정의되지 않습니다. 본문 데이터는 express.json 및 urlencoded({ Extended: true })와 같은 내장 미들웨어 또는 body-parser.

와 같은 외부 미들웨어를 사용하여 채울 수 있습니다.

다음 코드는 이해를 돕기 위한 것입니다.

import express from "express";

const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.get("/user", (req, res) => {
    const user  = req.body;
    consolo.log(user);
    res.send(user);
})

이 정보가 도움이 되었기를 바랍니다. 나중에 참고할 수 있도록 좋아요를 누르고 저장하는 것을 잊지 마세요. 즐거운 코딩하세요!

릴리스 선언문 이 기사는 https://dev.to/atul_thakre_a3ed87610e45f/6-essential-express-request-properties-every-developer-should-know-3ig7?1에서 복제됩니다. 침해가 있는 경우, [email protected]에 문의하십시오. 그것을 삭제하려면
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3