신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

웹 서버 만들기

 

 

단계별 코드

Step 1

// http 모듈 부르기
var http = require('http');​

http 모듈을 불러온다.

 

2018/02/27 - [Language/Node.js] - Node.js :: module 모듈 사용하는 방법, 만드는 방법 #5

(위 링크를 통해 require()를 이용한 모듈 불러오는 방법을 알 수 있다.)

 

 

Step 2

// 요청을 어떻게 처리할지 작성해준다.
function onRequest(request, response){ // request 요청, response 응답
    console.log("receive request... : " + request.url);
 
    // 어떤 데이터를 보낼지 작성해준다.
    response.writeHead(200, {"Content-Type":"text/plan"}); // 요청 응답 200 : 정상 Okay
 
    // 응답 할 데이터
    response.write("hello client!");
 
    // 응답 끝
    response.end();
 
 
}
​

 

onRequest() 함수를 만들어서 요청이 왔을때 어떻게 처리할지 알려주는 함수를 작성한다.

인자값으로 request(요청)와 response(응답) 객체를 받는다.

 

console.log()를 이용해서 Client(유저, 사용자)의 정보를 출력해본다.

 

client가 접속했을때, 어떤 데이터를 보낼지 작성한다.

response.write("hello client!");

라고 작성했기 때문에 client는 server로 부터 "hello client!" 라는 값을 받을 것이다.

 

 

모두 작성을 했다면, 응답이 완료됐다는 뜻으로

response.end()

함수를 호출한다.

 

 

Step 3

// 요청처리와 포트를 설정
http.createServer(onRequest).listen(8888);
console.log("Server Created...");​

포트번호와 요청작업을 설정해준다.

 

 

 

전체 코드

/**
 * 간단한 웹 서버 만들기
 */
// http 모듈 부르기
var http = require('http');
 
// 요청을 어떻게 처리할지 작성해준다.
function onRequest(request, response){ // request 요청, response 응답
    console.log("receive request... : " + request.url);
 
    // 어떤 데이터를 보낼지 작성해준다.
    response.writeHead(200, {"Content-Type":"text/plan"}); // 요청 응답 200 : 정상 Okay
 
    // 응답 할 데이터
    response.write("hello client!");
 
    // 응답 끝
    response.end();
 
 
}
 
// 요청처리와 포트를 설정
http.createServer(onRequest).listen(8888);
console.log("Server Created...");​

 

서버 결과

Server Created...
receive request... : /
receive request... : /favicon.ico

 

클라이언트 결과

 

 

 

 

참고

WebStorm IDE 도구를 사용하고 있다면, 브라우저 주소창에 주소를 입력하지 않고도, 

편하게 서버가 구동되면 바로 브라우저를 띄우는 방법이 있다.

 

 

우측 상단에 server.js 메뉴를 열어보면

Edit Configurations가 있다. 이 메뉴를 눌러보면 아래와 같은 창이 열린다.

 

 

 

 

위에서 작성한 주소와 포트번호를 입력해주면, 코드가 실행되면 작성한 주소와 포트로 브라우저가 열리게 된다.

 

 

 

 

 

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기