Node js/생활 코딩 Node js
Node js 간단한 웹 애플리케이션
shinwoong_BE
2019. 2. 3. 16:40
- 1234567891011const http = require('http');const hostname = '127.0.0.1';const port = 1337;http.createServer((req, res) => {res.writeHead(200, { 'Content-Type': 'text/plain' });res.end('Hello World\n');}).listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`);});
cs - 위의 코드는 웹브라우저를 통해 요청한 내용을 받아서 Hello World라는 텍스트를 전송하여 IP와 Port를 이용해 출력한다는 의미이다.
- server를 구축하기 위해 인터넷, 도메인 네임, IP, Port 등의개념을 숙지해야한다. - 인터넷의 동작 방법
- 컴퓨터와 컴퓨터가 인터넷을 통하여 연결되어 작업을 처리한다.
- 클라이언트(고객, 갑)와 서버(제공하는 쪽, 을)가 있고, 요청하고 응답(제공)하는 관계(갑, 을 관계)에 있다.
웹 브라우저가 설치되어있는 컴퓨터가 클라이언트이다. 예를 들어 http://1.com이라는 도메인 주소를 웹 브라우저에 치게되면,
1.com에 해당되는 서버에 접속하여 어떠한 정보를 요청하는 것이 클라이언트의 역할이고, 1.com이라는 서버는 요청한 정보를 클라이언트에게 응답(제공)하는 것이 서버의 역할이다.
웹 사이트에 접속을 할 때 1.com이라는 주소의 컴퓨터를 직접 찾아가지 않고, 1.com은 도메인 네임이라고해서 사람이 기억하기 쉽게 만들어놓은 이름이고 실제로 접속은 컴퓨터의 도메인 네임과 일치하는 ★IP주소를 통해서 접속을 하게 된다.
이것이 인터넷이 돌아가는 기본적인 동작 방법이다. - 서버
- 서버 컴퓨터에는 여러 개의 데이터베이스 서버, 채팅 서버, 게임 서버, 웹 서버 등의 다양한 종류가 설치되어 있을 수 있고,
요청에 대해 어떤 서버 애플리케이션을 연결해줘서 그 애플리케이션이 응답할 수 있게 하느냐에 대한 부분을 다룬다. - 요청한 서버에 대해 알맞은 서버를 제공하는 방법
- 컴퓨터에는 0 ~ 65535개의 포트가 있고 각 포트에는 어떠한 기능을 가진 서버가 구성되어있다.
예를 들어, 클라이언트가 웹 서버를 요청했을 때 인터넷은 서버의 80번 포트를 연결시켜주고 80번 포트에 해당되는 ,listen하고있는 웹 서버를 호출하여 웹 서버가 응답할 수 있게 되는 것이다.
컴퓨터는 웹브라우저를 통해서 접속했다는 것을 http로 알 수 있기 때문에 포트 번호를 작성하지 않고도 80번 포트에 해당되는 웹 서버와 연결시켜줄 수 있는것이다.
포트 생략이 가능한 이유는 http를 통해서 접속하는 경우에는 80번 포트를 사용하는 것으로 약속이 되어있기 때문에 생략이 가능하다.
접속이 들어왔을 때 해당되는 포트로 컴퓨터가 연결을 해주기 때문에 포트 번호에서 듣고있는, listen하고 있는 웹서버가 요청을
받아서 응답을 할 수 있게 되는것이다. 이것이 포트라는 개념이다. - 코드 해석
- createServer로 서버를 하나 만들고 웹 서버가 1337번 포트를 listen하도록 시키라는 명령이고,
사용자가 접속했을 때 127.0.0.1로 접속한 사용자에 대해서 응답하라는 명령이다.
- 응답 결과는 res.end 의 Hello World라는 텍스트이다.