Request, Response란?
- Request란 클라이언트가 서버에게 전달하려는 정보나 메시지를 담는 객체를 의미합니다.
- Response란 서버에서 클라이언트로 응답 메시지를 전송시켜주는 객체입니다.
서버 모듈
- Node.js의 서버 모듈에는 대표적으로 http 모듈과 Express 모듈이 존재합니다.
- Express 모듈은 http 모듈을 확장하여 제공합니다.
- Express 모듈은 기존 http 모듈의 메서드도 사용할 수 있지만, Express가 추가 제공하는 메서드나 속성들을 사용할 수 있습니다.
- 최근에는 Express의 메서드가 더욱 편리하기에 기존 http 모듈의 메서드는 잘 사용되고 있지 않습니다.
Express 모듈의 req, res 객체
- req.app : req 객체를 통해 app 객체에 접근할 수 있습니다.
- req.ip: 요청한 Client의 ip 주소가 담겨 있습니다.
- req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체입니다.
- express.json() Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
- req.params: 라우터 매개 변수에 대한 정보가 담긴 객체입니다.
- req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체입니다.
- req.cookies: Request를 호출할 때 Cookie 정보가 담긴 객체입니다.
- cookie-parser Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
- req.get(Header): 헤더에 저장된 값을 가져오고 싶을 때 사용합니다.
res 객체
- res.app : res 객체를 통해 app 객체에 접근할 수 있습니다.
- res.status(코드) : Response에 HTTP 상태 코드를 지정합니다.
- res.send(데이터) : 데이터를 포함하여 Response를 전달합니다.
- res.json(JSON) : JSON 형식으로 Response를 전달합니다.
- res.end() : 데이터 없이 Response를 전달합니다.
- res.direct(주소) : 리다이렉트할 주소와 함께 Response를 전달합니다.
- res.cookie(Key, Value, Option) : 쿠키를 설정할 때 사용합니다.
- res.clearCookie(Key, Value, Option) : 쿠키를 제거할 때 사용합니다.
Request body, params, query 더 자세하게
클라이언트에서 서버로 보내는 메시지를 요청(Reuqest), 서버에서 클라이언트에게 보내는 메시지를 응답(Response)이라고 부릅니다. body, params, query는 클라이언트가 서버에 요청(Request)을 보낼 때 데이터를 어떤 방식으로 전송하는지에 대한 여러가지 방법들을 나열한 것 입니다.
req.body (Body)
- 클라이언트가 요청(Request)을 보냈을 때, Body에 데이터를 삽입하였을 때 사용됩니다.
- Key-Value의 데이터 형식을 가지고 있으며, 대표적으로 JSON 형태를 띄고 있습니다.
- Body는 Query String, Path Variable(params)과 다르게, URL만을 가지고 어떤 데이터를 전달하였는지 확인할 수 없는 특징을 가지고 있습니다.
- 데이터를 생성하거나 수정이 필요한 데이터의 전달을 위해 사용됩니다.
ex) 사용자의 ID, 사용자의 Password, 게시글 제목 등 - POST, PUT과 같은 Http Method에서 사용됩니다.
req.query (Query String)
- 클라이언트가 요청(Request)을 보냈을 때, URL에 원하는 Key-Value를 삽입하여 데이터를 전달합니다.
- URL의 마지막에 ?기호를 이용해 Query String을 사용할 수 있습니다.
ex) https://sparta.com?name=김정민&age=29 - 특정 콘텐츠의 위치를 표시하거나 웹 페이지에 특정한 옵션을 설정할 때 사용합니다.
ex) 게시글의 정렬, 특정 날짜의 게시글만 출력하는 옵션 설정 등 - GET과 같은 Http Method에서 사용됩니다.
req.params (Path Variable)
- 클라이언트가 요청(Request)을 보냈을 때, URL에 원하는 데이터를 삽입하여 전달합니다.
- URL 특정 경로를 매개 변수로써 사용합니다.
- 특정 게시글을 선택하거나 명확한 리소스를 지정해야할 때 사용합니다.
ex) 게시글의 상세 정보 조회, 사용자의 상세 정보 조회
'Language > Node.js' 카테고리의 다른 글
JWT란? (0) | 2022.12.19 |
---|---|
쿠키와 세션 (0) | 2022.12.19 |
Module의 이해 (0) | 2022.12.13 |
Routin 이해 및 Router 학습 (0) | 2022.12.12 |
API Client (1) | 2022.12.12 |