Node.js가 무엇인지 얕게 알아보았다.
하지만 아직도 어떻게 생겼는지도 모른다.
이번 첫시간에 실체를 밝힌다.
https://nodejs.org/en/about/
node.js 홈페이지에 들어가서 [About]탭에 들어가면 바로 나오는 코드이다.
자신의 실체를 몇줄의 코드로 명확히 밝히고 있다.
const 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}/`);});
이 코드의 전체적인 취지는
" hostname을 통해서 접속한 사용자에게 1337포트로 응답하라. "
이것이다.
세세하게 살펴보면
const http = require('http');
> require('http');
-> require 라는 함수이다. require는 언어로 보자면 '요구하다','필수적이다'란 뜻이다.
즉 , ' http '라는 모듈을 요구하는 코드이다.
require 함수의 return 값이 http 이므로
const 로 http 라는 상수를 선언한 뒤 http에 return값을 담는다.
> const http
-> JavaScript의 최신 문법으로 그 뜻은 상수이다. 데이터를 담는 다는 면에서 변수와 그 의미가 비슷하다.
단 이 상수는 변하지 않는다. 값이 한 번 '할당'되면 그 값이 변할 수 없다.
한번 http 모듈을 로드해오면 바뀔 이유가 없다.
그것을 명시하기 위해 const를 사용하는게 관습이다.
http.createServer((req, res)
.createSever 라는 메서드.
createServer 라는 메서드를 통해서 서버를 생성한다.
Returns a new instance of http.Server = http.Server 라는 객체를 리턴한다.
그 객체링크를 타고 들어가며 그 객체가 listen이라는 메서드를 갖고 있는 걸 알 수 있다.
그래서 .listen 을 호출할 수 있다.
.listen 에 앞에서 선언한 port라는 인자 전달하고 = (1337)
hostname 인자를 전달한다 (= 컴퓨터의 IP)
createServer에 req , res 는
각각 request , respond의 줄임말로 요청 / 응답의 의미를 갖고 있다.
말 그대로 서버에 어떤 값을 요청하는가를 'req'로 나타내고
서버가 어떤 값으로 응답하는가를 'res'로 나타낸다.
console.log(`Server running at http://${hostname}:${port}/`);});
마지막 console.log 는 명령 프롬프트 상 서버가 제대로 실행됬다는 것을 알려주기 위한 코드이다.
http는 주소 입력할 때 많이 입력했던 단어라 덜 어색할 수 있지만
리스닝이라든지 포트라든지 생소한 용어가 많이 나온다.
' [개발상식] 인터넷의 기초 '에 따로 정리해두었다.
생활코딩 이고잉님 감사합니다^^
-..-
'Dev.BackEnd > Node.js' 카테고리의 다른 글
[다섯번째] Node.js 기본 / Express 도입 (0) | 2016.04.08 |
---|---|
[네번째] Node.js 기본 / 동기&비동기 개념 (0) | 2016.04.07 |
[세번째] Node.js 기본 / 콜백 복습 (0) | 2016.04.07 |
[두번째] Node.js 기본 / 모듈과 NPM (0) | 2016.04.07 |
[프롤로그] Node.js 란 무엇인가? (0) | 2016.04.05 |