본문 바로가기

Coding/내일배움캠프

[내일배움캠프] express의 req 객체와 res 객체에 관하여 - Node.js 4기 TIL | Day 38 | 24.02.09.(금)

익스프레스 req 객체 심층 분석

 

익스프레스 req 객체는 클라이언트에서 서버로 전송되는 HTTP 요청에 대한 정보를 담고 있음.

개발자는 이 객체를 통해 요청의 다양한 속성과 메서드에 접근하여 요청을 처리하고 응답을 생성할 수 있음.

 

req 객체의 주요 속성

 

- req.app : 현재 요청을 처리하는 Express 애플리케이션 인스턴스에 대한 참조

- req.baseUrl : 현재 요청을 처리하는 라우터의 기본 URL

- req.body : 요청 본문에 포함된 데이터 (JSON, URL-encoded, multipart/from-data 등)

- req.cookeis : 클라이언트에서 전송된 쿠키 객체

- req.headers : 요청 헤더 정보를 담고 있는 객체

- req.hostname : 클라이언트의 호스트 이름

- req.ip : 클라이언트의 IP 주소

- req.method : 요청 메서드 (GET, POST, PUT, DELETE 등)

- req.protocol : 요청 프로토콜 (http 또는 https)

- req.query : 쿼리 문자열에 포함된 파라미터 객체

- req.route : 현재 요청을 처리하는 라우터 정보

- req.secure : 요청이 HTTPS를 통해 전송되었는지 여부

- req.session : 세션 정보를 담고 있는 객체 (session 미들웨어 사용 시)

- req.socket : 클라이언트와의 연결을 나타내는 소켓 객체

- req.subdomains : 요청 URL의 서브도메인 목록

 

req 객체의 주요 메서드

 

- req.accepts(types) : 클라이언트가 지원하는 MIME 유형 목록을 확인

- req.get(header) : 요청 헤더에서 특정 헤더 값을 가져오기

- req.is(type) : 요청의 MIME 유형을 확인

- req.param(name, defaultValue) : URL 경로 매개변수 또는 쿼리 문자열 파라미터 값을 가져오기

- req.pipe(destination) : 요청 데이터를 다른 스트림으로 파이프 연결

 

req 객체의 심층 분석

 

- req.body

   - body-parser 미들웨어를 사용하면 요청 본문을 자동으로 파싱하여 req.body 객체에 저장

   - req.body 객체는 JSON, URL-encoded, multipart/form-data 등 다양한 형식의 데이터를 담을 수 있음.

   - body-parser 미들웨어 설정에 따라 req.body 객체의 구조가 달라질 수 있음

- req.cookies

   - req.cookies 객체는 클라이언트에서 전송된 쿠키 정보를 담고 있음.

   - 쿠키 이름을 키로 사용하여 쿠키 값에 접근할 수 있음.

   - 쿠키 값을 변경하거나 새로운 쿠키를 설정할 수도 있음.

- req.headers

   - req.headers 객체는 요청 헤더 정보를 담고 있음.

   - 헤더 이름을 키로 사용하여 헤더 값에 접근할 수 있음.

   - 헤더 값을 변경하거나 새로운 헤더를 설정할 수도 있음.

- req.params

   - req.params 객체는 URL 경로에서 추출된 매개변수 값을 담고 있음.

   - 매개변수 이름을 키로 사용하여 매개변수 값에 접근할 수 있음.

- req.query

   - req.query 객체는 쿼리 문자열에 포함된 파라미터 값을 담고 있음.

   - 파라미터 이름을 키로 사용하여 파라미터 값에 접근할 수 있음.

 

익스프레스 res 객체 심층 분석

 

익스프레스 res 객체는 서버에서 클라이언트로 전송되는 HTTP 응답을 구성하는 데 사용된다.

개발자는 이 객체를 통해 응답 코드, 헤더, 본문 등을 설정하여 클라이언트에게 원하는 정보를 전달할 수 있다.

 

res 객체의 주요 속성

 

- res.app : 현재 응답을 처리하는 Express 애플리케이션 인스턴스에 대한 참조

- res.headers : 응답 헤더 정보를 담고 있는 객체

- res.locals : 템플릿 엔진에 전달될 변수를 담고 있는 객체

- res.statusCode : 응답 코드

- res.statusMessage : 응답 코드에 대한 메시지

 

res 객체의 주요 메서드

 

- res.append(header, value) : 응답 헤더에 새로운 헤더 항목 추가

- res.clearCookie(name) : 특정 쿠키 삭제

- res.cookie(name, value, options) : 쿠키 설정

- res.end(data) : 응답 본문 설정 및 응답 종료

- res.format(obj) :  요청에 따라 적절한 응답 형식 선택 및 응답

- res.json(data) : JSON 형식으로 응답

- res.redirect(url) : 클라이언트를 다른 URL로 리다이렉트

- res.render(view, locals) : 템플릿 엔진을 사용하여 뷰 렌더링

- res.send(data) : 응답 본문 설정 및 응답

 

res 객체 심층 분석

 

- res.headers

 

   - 응답 헤더 정보를 담고 있는 객체

   - 헤더 이름을 키로 사용하여 헤더 값에 접근하거나 변경할 수 있음

   - 새로운 헤더 항목을 추가할 수도 있음

 

- res.locals

 

   - 템플릿 엔진에 전달될 변수를 담고 있는 객체

   - 템플릿에서 변수 이름을 사용하여 값에 접근할 수 있음.

 

- res.statusCode

   - 응답 코드를 설정하거나 가져오는 데 사용됨.

 

      - 200 : OK

      - 400 : Bad Request

      - 401 : Unauthorized

      - 404 : Not Found

      - 500 : Internet Server Error

 

- res.statusMessage

 

   - 응답 코드에 대한 메시지를 설정하거나 가져오는 데 사용된다.

 

* 해당 게시글은 gemini를 참고하여 작성된 게시글임을 알립니다.