공부하는 과정에서 모듈별로 혹은 함수별로 정리를 해 놓으면 좋을 것 같아서 이 글을 작성하게 되었습니다.
Built-in Modules
우선 Built-in Modules에는 어떤 것이 있는지 궁금하시다면, 이 곳을 클릭 해 주세요.
이 글에서 다룰 Module은 가장 먼저 배우게 되었던 'http'라는 Module입니다.
'http' Module
우선 'http' Module을 선언하려면 require()라는 함수를 사용해야합니다.
1 | var http = require('http'); | cs |
이렇게 require() 함수로 'http' Module을 불러오고, http 라는 변수에 저장하여 사용합니다.
이 'http'라는 Module에는 어떤 정보가 있는지 보기 위해서 console.log()를 통해서 확인 해 보았습니다.
1 2 | var http = require('http'); console.log(http); | cs |
생활코딩님의 강의에서보다 뭔가 엄청난 것들이 들어있었다.
그리고 w3schools에서도 이것에 대한 완벽한 정리가 없는 것 같다.
우선 이 'http'라는 Module은 HTTP 서버를 만들고, 요청(request)과 응답(response)에 대한 것들을 다루는 함수이다.
서버를 만들어 보자.
서버를 만들기 위해서는 createServer()라는 Method를 사용해야한다.
하지만, 그냥 craeteServer()만쓴다고 server가 만들어 지지는 않고 request와 response가 있어야 하기 때문에 다음과 같이 사용할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 | var http = require('http'); var server = http.createServer(function (request, response){ response.write("Hello, SitMin"); //client에게 "Hello, SitMin"을 써서 응답한다. response.end(); // 마지막 응답. 보통 이 end() 안에 html을 입력함. }) server.listen(8000); // 8000은 port number 이므로 원하는 숫자를 입력하면 되고, default value는 80이다. | cs |
이렇게 쓰고, cmd 창에서 위의 코드를 읽으면, 아래와 같은 주소와 내용이 나온다. localhost는 자기 자신의 컴퓨터(host)를 뜻하고, 8000은 port 번호를 뜻한다.
다음으로 알아 볼 것은 위에서 "http module 열어보기"에서 STATUS_CODES에 대한 것이다.
하지만 모든 코드를 다루지는 않고, 200과 404 만 알아보자.
위에서 써있는 것만 보면, 200 은 "OK" 이고, 404는 "NOT FOUND"이다. 즉, 200은 클라이언트와 서버가 연결되는 것에 성공되었다는 코드이고, 404는 클라이언트가 요청한 것을 서버에서 찾을 수 없다고 이야기 하는 코드이다.
이러한 코드들을 "Head"라고 해서 실제로 웹 페이지가 연결되어질 때 주고 받는 코드이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | var http = require('http'); var server = http.createServer(function (request, response){ response.writeHead(200, {'Content-Type': 'text/html'}) // Head에 200을 표시해서 연결이 되었다는 것을 알리고, content-type이 html이라는 것을 알려준다. response.write(request.url); //client에게 요청된 url을 다시 써서 응답한다. response.end(); // 마지막 응답. 보통 이 end() 안에 html을 입력함. }) server.listen(8000); // 8000은 port number 이므로 원하는 숫자를 입력하면 되고, default value는 80이다. | cs |
이렇게 해서 다시 서버를 열면, 다음과 같은 웹 페이지가 된다.
하지막 url에 약간의 변화를 주면 다음과 같은 페이지가 되어버린다.
이는 <코드 4>에서 write()에 request.url을 사용하였기 때문이다.
http Module 에 대해서는 이정도로 하고, 다음에 다른 Module에 대해서 이야기 해 보겠습니다.
※ 참고 사이트
'WEB > Javascript' 카테고리의 다른 글
VSCode에서 node.js 실행과 TypeScript 다운 및 실행하기 (0) | 2019.05.18 |
---|---|
node.js 다운로드 방법 not install, in windows 10 (1) | 2019.05.18 |
vscode 다운로드 방법 not install, in windows10 (0) | 2019.05.18 |
about node.js url Module(2019.01.13) (0) | 2019.01.13 |
javascript의 기초 문법 정리 (0) | 2019.01.05 |