반응형
res.end()
- response 과정을 빠르게 끝낸다.
- 데이터 처리 없이 빠르게 response를 끝낼때 사용한다.
- 만약 data 처리가 필요하다면 res.send()나 res.json()을 사용하자
res.send()
- HTTP response 를 보낸다.
- 파라미터로 Buffer object, String, object, Boolean, Array 등이 사용된다. (Buffer는 Node.js에서 제공하는 Object인데 Binary데이터를 담는 역할을 한다. 자세히 알고 싶다면 클릭)
- 서버에서 response 처리를 할 때는 Content-Type을 지정해주어야 하는데, res.send()는 매개변수마다 알맞는 Content-Type을 지정해준다.
매개변수 | Content-type |
Buffer Object | application/octet-stream |
String | text/html |
Array or Object | JSON |
res.json()
- JSON을 응답으로 보낸다.
- JSON.stringify(매개변수)한 값을 보낸다.
위에서 res.send()를 설명한 부분에 표를 보면 알겠지만, Object는 res.send()에 의해 자동으로 content-type이 JSON이 된다.
res.json()이 왜 필요하지? 어차피 res.send()쓰면 Object는 JSON으로 보내지는데? 라는 생각이 든다.
JSON은 String,Number,Object,Array,Boolean,Null 을 지원하지만, Function,Date,Undefined 등 지원하지 않는 타입이 있다.
이때 JSON.stringify() 메소드를 이용해 매개변수를 JSON string 형태로 변환한다. 그 후 res.send()를 호출하여 응답을 보낸다.
반응형
'개발 > Express' 카테고리의 다른 글
Express 로 뉴스 크롤링하기 (0) | 2023.08.04 |
---|---|
express middleware (0) | 2022.06.06 |
에러 해결 : 'body-parser' 취소선, The declaration was makred as deprecated here (0) | 2021.09.10 |