답변:
res.send()
HTTP 응답을 보냅니다. 문법은
res.send([body])
body 매개 변수는 Buffer 객체, String, 객체 또는 Array 일 수 있습니다. 예를 들면 다음과 같습니다.
res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('<p>some html</p>');
res.status(404).send('Sorry, we cannot find that!');
res.status(500).send({ error: 'something blew up' });
자세한 내용은 이것을 참조하십시오 .
res.end()
응답 프로세스를 종료합니다. 이 방법은 실제로 노드 코어, 특히의 response.end()
방법 에서 비롯됩니다 http.ServerResponse
. 데이터없이 신속하게 응답을 종료하는 데 사용됩니다. 예를 들면 다음과 같습니다.
res.end();
res.status(404).end();
더 많은 정보를 원하시면 이것을 읽으십시오 .
express
그러나 제목 생각에서 – 하나는 무언가를 보내고, 하나는 무언가를 끝내고 ....
res.send()
아무것도 사용 하지 않으면 어떨까요? 이처럼 행동합니까 res.end()
?
응답 헤더와 관련하여 res.end()
& 간의 주요 차이점 res.send()
과 왜 중요한지에 대해 조금 더 강조하고 싶습니다 .
1. res.send ()는 출력 구조를 확인하고 그에 따라 헤더 정보를 설정합니다.
app.get('/',(req,res)=>{
res.send('<b>hello</b>');
});
app.get('/',(req,res)=>{
res.send({msg:'hello'});
});
res.end ()를 사용하면 텍스트로만 응답 할 수 있으며 " Content-Type "을 설정하지 않습니다
app.get('/',(req,res)=>{
res.end('<b>hello</b>');
});
2. res.send ()는 응답 헤더에서 "ETag"속성을 설정합니다.
app.get('/',(req,res)=>{
res.send('<b>hello</b>');
});
¿이 태그가 중요한 이유는 무엇입니까?
ETag HTTP 응답 헤더는 특정 버전의 리소스에 대한 식별자입니다. 웹 서버는 내용이 변경되지 않은 경우 전체 응답을 보낼 필요가 없으므로 캐시의 효율성을 높이고 대역폭을 절약 할 수 있습니다.
res.end()
이 헤더 속성을 설정하지 않습니다
res.end
res.send