Request
req
객체는 HTTP 요청을 나타내며 요청 쿼리 문자열, 매개 변수, 본문, HTTP 헤더 등에 대한 속성을 나타냄
객체 req
는 Node 자체 요청 객체의 향상된 버전이며 모든 기본 제공 필드 및 메서드를 지원
속성
req.app
Express 애플리케이션의 인스턴스에 대한 참조
req.baseUrl
라우터 인스턴스가 마운트된 URL 경로 app.mountpath 과 유사
req.body
키-값 의 형태의 request body 데이터를 의미, 기본값은 undefined, req.body 는 상황마다 다르기 때문에 신뢰할 수 없다.
req.cookies
cookie-parser 를 사용할 경우 쿠키 객체를 나타냄 기본 값은 {}
req.fresh
클라이언트의 캐시가 최신 상태인지를 판단 여부 유효한 경우 true 리턴 아닌 경우 false 리턴
req.stale
req.fresh 랑 반대
req.hostname
HTTP header 에 있는 hostname 내용 반환
req.ip
ip 반환
req.method
HTTP 메서드 이름 반환
req.originalUrl
전체 url 반환
req.params
파라미터 반환
req.path
path 반환
req.protocol
프로토콜 반환 ex) http
req.query
쿼리반환
req.res
res 의 참조
req.route
route 관련 객체 반환
req.subdomains
서브 도메인 배열 반환
req.xhr
클라이언트 라이브러리에서 요청을 발행했음을 나타내는 "XMLHttpRequest" 인지 여부
메서드
req.accepts(type) [type: string | boolean]
요청의 HTTP 헤더 필드를 기반으로 지정된 content type이 허용되는지 확인
req.is(type)
요청의 HTTP 헤더 필드를 기반으로 지정된 content type이 일치하는지 확인
req.acceptsCharsets(charset [, ...])
req.acceptsEncodings(encoding [, ...])
req.acceptsLanguages(lang [, ...])
req.get(field)
지정된 HTTP 요청 헤더 필드를 반환합니다
req.param(name [, defaultValue])
param 반환
req.range(size[, options])
요청한 리소스의 일부 범위를 지정 원하는 범위의 데이터를 요청
Response
Express 앱이 HTTP 요청을 받을 때 보내는 HTTP 응답을 나타낸다.
속성
res
객체는 Express 앱이 HTTP 요청을 받을 때 보내는 HTTP 응답을 나타냅니다.
res.app
Express 애플리케이션의 인스턴스에 대한 참조
res.headersSent
앱이 응답을 위해 HTTP 헤더를 보냈는지 여부
res.locals
응답과 관련된 데이터를 저장하고 템플릿 엔진이나 다음 미들웨어에서 사용할 수 있으며 단일 요청-응답 주기 내에서 사용할 수 있기 때문에 로컬 변수를 유지하려면 대신 app.locals를 사용하는 것이 적절하다.
메서드
기본 기능
res.req
req 객체의 참조를 보유
res.get(field)
HTTP 응답 헤더를 반환
1. 헤더 설정 관련
res.append(field [, value])
HTTP response 헤더 필드에 변수를 추가하며 헤더가 아직 설정되지 않은 경우 지정된 값으로 헤더를 생성
res.attachment([filename])
HTTP 응답 헤더에 "Content-Disposition"을 설정하여 파일 다운로드를 유발하는 역할
res.type(type)
Content-Type HTTP 헤더를 설정
res.vary(field)
응답 헤더 에 Vary 필드를 추가
res.cookie(name, value [, options])
쿠키 name 및 value 를 설정하는 메서드
res.clearCookie(name [, options])
쿠키를 지우는 메서드
res.download(path [, filename] [, options] [, fn])
파일을 다운로드하기 위한 천체적인 HTTP 응답을 구성
res.format(object)
"Accept" 헤더에 따라 다른 응답 형식을 선택적으로 보낼 수 있는 메서드
res.links(links)
"Link" 헤더를 추가
res.location(path)
path 헤더를 추가
2. 응답 관련
res.end([data] [, encoding])
응답 프로세스를 종료, 데이터 없이 빠르게 응답을 종료할 때 사용
res.send([body])
HTTP 응답을 보냅니다.
res.redirect([status,] path)
라이언트를 다른 URL로 바로 redirect 하는 역할을 하며, 응답을 생성합니다.
res.json([body])
JSON 응답을 보냄
res.jsonp([body])
JSONP는 Same-Origin Policy로 인해 발생하는 제한을 우회하기 위해 사용되는 기술
JSONP를 사용하면 다른 도메인의 API에서 데이터를 요청하고 응답을 받을 수 있다.
res.sendFile(path [, options] [, fn])
파일을 응답으로 전송 res.download 의 내용과 흡사하며 바로 응답하는지 여부가 차이점이다.
res.sendStatus(statusCode)
HTTP 코드 응답
res.render(view [, locals] [, callback])
view
를 렌더링하고 렌더링된 HTML 문자열을 클라이언트에 보냅니다
'node.js' 카테고리의 다른 글
Express 탐구 - 1 (0) | 2023.07.11 |
---|---|
Node.js 개발 및 배포 환경 구성에 유용한 패키지 (1) | 2023.06.19 |
[ dotenv ] 환경 변수 사용 패키지 (0) | 2022.02.14 |