티스토리 뷰

백앤드/NodeJs

Res write / send / json

수달찌 2021. 3. 21. 22:41

목차

     

    오늘 서버 쪽 코드를 패치하면서

    클라이언트 쪽으로 데이터를 건네줄 때

    여러 함수가 있고,

    이 함수들이 어떤 차이를 갖고 있는지 알아보았다.

    엄마는 우리 아가(코드)가 최고였음 좋겠어!!! 

    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와의 차이점으로는,

    자동으로 headhttp캐시지정해준다는 점이다

    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
    링크
    «   2024/05   »
    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 29 30 31
    글 보관함