티스토리 뷰
목차
오늘 서버 쪽 코드를 패치하면서
클라이언트 쪽으로 데이터를 건네줄 때
여러 함수가 있고,
이 함수들이 어떤 차이를 갖고 있는지 알아보았다.
엄마는 우리 아가(코드)가 최고였음 좋겠어!!!
write
write는 추가 프레임워크 express 없이,
기본 모듈인 http만으로 가능한 기초
전송 함수이다.
특징으로는 여러 번 보낼 수 있다.(호출할 수 있다)
하지만 장점이자 단점으로 head 와 전송을 끝낸다는
end함수를 직접 지정 해줘야 한다는 점이 있다.
const http = require('http');
http.createServer(onRequest).listen(8080, madeServer);
function madeServer(){
console.log("8080 서버를 만듬!");
}
function onRequest(request, response){
console.log("사용자가 들어옴");
response.writeHead(200, {'Content-Type': 'text/html'});
response.write('<h1>Hello User</h1>');
response.end('<h1>Res Done</h1>'); // end를 안쓰면 데이터가 넘어가지 않는다!
}
express response
나머지 두 개의 send / json 함수는 사용하기 위해,
express라는 추가 프레임워크가 필요하다.
npm install express
터미널에 해당 명령어를 입력하여 express 프레임워크를 다운받아주자.
send
send는 http 모듈에서의 end와 같은 기능을 한다.
write로 비유하지 않은 이유는,
write는 한 응답 안에서 여러 번 쓸 수 있지만,
send는 한 번만 쓸 수 있다는 점에서 end와 비슷하다.
end와의 차이점으로는,
자동으로 head와 http캐시를 지정해준다는 점이다
json
json은 전달할 데이터를 json으로 변경하여 보내주는 함수이다.
Json이란 데이터 표시방식으로써, 통신을 목적으로 가벼운 용량이 특징이다.
send vs json
보통 위의 설명을 보면
send보다 json함수가 좀 더 작업량이 많을 거라 생각하는데,
json
json함수는 인자로 들어온 object 데이터를json 문자열로 변경후,
send함수 호출하여 보내는데 비해,
send
send함수는 인자로 들어온 데이터의 타입이
object인지 아닌지 검토한다.
object이면 json함수를 호출한 뒤,
json함수에서 다시 send함수를 호출하게 된다.
object가 아닌 다른 타입이면,
바로 send함수 그대로 데이터를 보내게 된다.
결과적으로, 데이터를 반환할 때,
데이터 타입이 json이라면 send함수보다는
json함수를 쓰는 것이
명시적으로도(내가 json 데이터를 보낼 거야!!),
효율적으로도 좋다는 것이다!
끝
'백앤드 > NodeJs' 카테고리의 다른 글
모듈화 (0) | 2021.03.27 |
---|---|
Nodejs로 서버만들기 (0) | 2021.03.09 |
Node.js란 (0) | 2021.03.06 |
- Total
- Today
- Yesterday
- 쿠키
- useReducer
- 클릭
- touchable
- Hook
- Expo
- switch
- 웹접근성
- Router
- 무료아이콘
- CSS
- nodejs
- homebrew
- html
- async
- react
- 서버
- 랜더링
- 접근성
- 에러
- Redux
- usecookies
- 비동기
- 이쁜코드
- SVG
- proptype
- dom
- 가상샐렉터
- 아이콘
- visualcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |