(http 는 프로토콜이다. http 모듈을 이용하여 서버 만들 수 있다. )
(이부분은 write 스트림을 진행하고 end로서 더이상 write 하지 않도록 해준다.)
(서버를 만들고 listen을 하면 터미널 하나를 보유 하고 있기 때문에 위처럼 node 를 실행해도 다른 명령어 대기가 아닌 그냥 대기중 이라고 뜬다.)
(localhost:8080을 통해 서버로 접속 가능하다.
원래 서버마다 포트 번호가 존재한다. naver의 경우 443
https 가 적용되어 있는경우 포트가 443이여서 생략이 가능하다.
http 인 경우 뒤에 80이 생략 되어 있다.
포트의 좋은점 : 같은 도메인이라도 다른 포트를 이용하여 여러 프로그램을 동시에 연결해 놓을 수 있다.
db 따로 놓을 때 좋음)
(비동기 환경에서 에러가 날 수 있기 대문에 server 변수에서 error 발생시 console.log 하였으며 위의 listen의 콜백을 밖으로 위와 같이 뺄 수 있다.)
=> 코드 수정 시 한번 껐다 켜야 한다.
(브라우저 중에 위 경우 html인지 문자열인지 모르는 경우가 있다. (사파리)
이런경우 우리가 직접 html 이라는 것을 알려 줘야 한다.
따라서 아래와 같이 writeHead를 써줘야 한다. 한글 때문에 charseet=utf-8 도 써주면 좋다.)
res.writeHead(상태코드, 헤더 정보) - 응답 헤더에 대한 정보를 기록하는 메서드. 상태 코드는 HTTP 상태코드를 말하는데 200, 404, 500 등 이다. 'text/html' 은 응답의 콘텐츠 형식이 HTML 이라는 의미이고, 'utf-8' 은 한글 표시를 하라는 의미이다.
(위와 같이 만약 80포트를 쓰고있지 않다면 localhost 만으로도 접속 가능하다. 디폴트 값이 80 이기 때문)
따라서 아래와 같이 따로 html파일을 우선 만들고
이후 js 파일에 아래와 같이 html 적용해주면 됨. (파일 읽기 = fs)
(결과는 다음과 같다.)