node.js에 코어 모듈에 http라는 모듈이 있다.
const http = require('http')
http라는 코어모듈을 통해서 http라는 통신규약으로 클라이언트와 통신하는 서버를 만들 수 있다.
const server = http.createServer();
http.createServer() 메소드는 서버역할을 하는 객체 하나를 생성해준다.
seerver.listen(3000)
server.listen()은 서버객체가 외부의 요청을 받아드릴 수 있게 해준다
lieten()은 뜻 그대로 클라이언트의 요청을 듣도록 귀를 기울리고 있는 것이다.
이 때, listen(3000)에서 3000은 포트번호를 의미한다.
seerver.listen(3000)
Node를 실행시키고 브라우저에서 127.0.0.1를 쳐주는데 127.0.0.1은 아이피 주소를 의미한다.
네트워크에서 하나의 컴퓨터가 같는 주소를 아이피라고 한다. 127.0.0.1은 자기 자신의 컴퓨터를 나타내도록 특별히 정해준 아이피 주소이다.
이 상태에서 127.0.0.1:3000을 하면 접속이 되지않고 로딩만 된다.
그 이유는 서버에서 요청을 받았을 어떻게 반응을 해주어야 할지 설정을 해주지 않았기 때문이다.
const server = http.createServer((request, respone) => {
respone.end("<h1>Hello, Node.js!</h1>")
}
);
createSever함수에 인자로 함수를 넣어줬는데 그 함수는 서버 객체에 클라이언트 요청이 들어올때마다 실행이 된다!
이 함수에는 request와 respone라는 인자가 있는데
Request는 클라이언트의 요청에 관한 객체, respone는 이 서버 객체가 할 응답의 객체이다.
이제 서버에 접속을 해보면 위에 h1태그로 감싸진 Hello, Node.js!가 나타난다.