티스토리 뷰

 

안녕하세요 :)


이번포스팅에서 다루어볼 내용은 다른웹사이트의 데이터를 가져와서 응답하는법 입니다.

 

지난 포스팅에 이어 http 모듈의 메소드를 사용할것이고, 파일의 내용을 읽어와 버퍼에 담아 일부분만 응답하는 예제를 먼저 해보겠습니다. 다른 웹의 데이터를 가져오기위해서는 버퍼를 활용해야 하기때문에 잠깐 다루겠습니다.

 

 

버퍼를 활용한 파일 읽어 응답하기 코드,

아래와 같이 chunk라는 변수와 while문을 이용하여 파일의 길이를 체크하고 write 했습니다. 조건을 파일의 길이로 해주었기때문에 아래의 예제에는 모든 부분이 출력될것입니다.

 

 

 

request 리스너 변경

 

 

<sample.txt>

'

 

<콘솔>

 

 

이제 위의 버퍼와 http 모듈의 get 방식을 이용하여 다른 웹사이트의 데이터를 끌어와 요청에 응답해 보겠습니다.

 

 

아래의 코드가 http모듈의 get 메소드를 사용하여 웹페이지의 데이터를 가져온 예입니다.

get 메소드의 경우 서버로 부터 응답이 수신되면 두가지 이벤트를 기다립니다. data와 end 입니다. data의 경우 데이터의 수신이 시작된것을 뜻하고, end의 경우 데이터의 수신이 완료된것을뜻합니다.

따라서 수신이 시작되면 값을 chunk로 초기화 해주다가 수신완료시 완성된 데이터를 처리해주면 됩니다. 저는 Data라는 글로벌 변수에 그 완성된 데이터를 임시로 초기화 시켰습니다

 

 

 

localhost:3000으로 서버를 가동하여 초기화된 Data 변수의 값을 출력해보겠습니다. 코드와 결과는 아래와 같습니다.

 

 

 

 

<결과 화면>

 

 

get 메소드 처럼 웹서버에 요청을 보내는 방식은 get, post,put,delete 등 여러가지가 있습니다. 인터넷 표준으로 정해저 있으며 http의 요청 포멧을 살펴보면 헤더와 바디가 있습니다. 이때 get 방식은 헤더 부분에 요청 정보를 넣어 보내고 post 방식은 바디부분에 요청정보를 넣어 보낸다는 차이가 있습니다. 

 

보안등의 이슈가 있을때 또는 파일을 요청 정보로 넣어 보내야 하는경우 post 방식이 유리합니다.

 

사실 위에서 다루어본 내용보다 http 모듈에는 더 많은 기능들이 있습니다. 하지만 실무에서 웹서버를 구성할때는 express 모듈을 더 많이 사용한다 책에서 소개되어있기 때문에 다음 포스팅부터는 express 모듈을 통해 웹 서버를 만드는 방법을 다루어보겠습니다.

'Development > Node.js' 카테고리의 다른 글

Node.js - 미들웨어  (0) 2021.07.07
Node.js - express  (0) 2021.07.05
Node.js - http  (0) 2021.06.30
Node.js - file  (0) 2021.06.30
Node.js - event  (0) 2021.06.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함