1) Req / Res
- Request란 클라이언트가 서버에 전달하려는 정보나 메시지는 담는 객체
- Response란 서버에서 클라이언트로 응답메시지를 전송하는 객체
2) Server Module
- Node.JS의 서버모듈에는 http / Express 모듈이 존재
- Express 모듈은 http 모듈 및 추가 제공하는 모듈을 사용가능
3) Express 모듈의 req / res ### req 객체
- 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 Middlewarw를 이용하여야 객체를 사용할 수 있음
- req.get(Header) : 헤더에 저장된 값을 가져오고 싶을 때 사용
- res.app : res 객체를 통해 app 객체에 접근할 수 있음
* - res.status(code) : Response에 HTTP 상태 코드를 지정
* 상태코드표 참조 *
* - res.send(data) : 데이터를 포함하여 Response를 전달
* - res.json(JSON) : JSON 형식으로 response를 전달
- res.end() : 데이터 없이 response 전달
- res.direct(url) ; 리다이렉트할 주소와 함께 response
- res.cookie(Key, Value, Option) : 쿠키를 설정할 때 사용
- res.clearCookie(Key, Value, Option) : 쿠키를 제거할 때 사용
- 클라이어트가 req 보낼때 body에 data를 삽입하였을 때 사용
- Key - Value 형태, 대표적으로 JSON 형태
- body는 Query String / Path Varianle(params)와 다르게 URL만을 가지고
어떤 데이터를 전달 하였는지 확인할 수 없는 특징을 가지고 있음
- 데이터를 생성하거나 수정이 필요한 데이터의 전달을 위해 사용됨
user ID / Password / 게시글 제목 등
- POST, PUT과 같은 HTTP Method에 사용 됨
- 클라이언트가 req 보냈을 때 URL에 원하는 Key - Value를 삽입하여 데이터 전달
- URL 마지막에 ❓ 기호를 이용해 Query String을 사용할 수 있음
http://sparta.com?name=daniel&age=34
- 특정콘텐츠의 위치를 표시하거나 웹페이지에 특정한 옵션을 설정할 때 사용
게시글 정렬 / 특정 날짜의 게시글만 출력하는 옵션
- GET과 같은 HTTP Method에서 사용
- 클라이언트가 req 보냈을 때 URL에 원하는 데이터를 삽입하여 전달
- URL 특정 경로를 매개 변수로써 사용
- 특정게시글을 선택하거나 명확한 리소스를 지정해야할 때 사용
게시글의 살세 정보조회 / 사용자 상세정보 조회