Node.js

Node.js - 웹서버 만들기

수업소개

Node.js는 웹서버 기능을 가지고 있습니다. 이런 특성을 이용해서 컨텐츠를 프로그래밍적으로 생산할 수 있게 됩니다. 여기서는 Node.js를 웹서버로 구동하는 방법을 살펴보겠습니다. 

 

 

 

강의

 

 

 

소스코드

아래의 코드 중 9행의 내용은 아래와 같이 변경해야 합니다. 

response.writeHead(404);
response.end();
return;


 

var http = require('http');
var fs = require('fs');
var app = http.createServer(function(request,response){
    var url = request.url;
    if(request.url == '/'){
      url = '/index.html';
    }
    if(request.url == '/favicon.ico'){
      return response.writeHead(404);
    }
    response.writeHead(200);
    response.end(fs.readFileSync(__dirname + url));

});
app.listen(3000);

 

 

 

참고

web1 - HTML & Internet 수업의 소스코드

 

댓글

댓글 본문
작성자
비밀번호
  1. eddylee123456
    완료
  2. Gritter
    감사합니다!
  3. 완료맨
    완료하였습니다. 감사합니다.
  4. Coder가 되고싶다
    'nodejs는 웹서버도 될수있고, 브라우저 밖에서의 컴퓨터언어도 될수 있기때문에, apache와 달리, 웹브라우저의 사용자에게 자신이 원하는 대로 응답을 할 수 있다' 이렇게 이해했는데, 맞나요?
  5. esteban0829
    앞에 node 라고 붙여야 되요
    (현재 디렉토리)> node (파일이름).js
    대화보기
    • 떠유니
      왜 console.log (~) 가 출력이 안될까요 ㅠ_ㅠ
    • 스티븐잡숴
      완료
    • 0130
      좋은 강의 감사합니다
    • 감사
      전에 web1 에서도 궁금했던건데 왜 그냥 localhost만 해도 index가 가장 처음 화면에 뜨는거죠
      1,2,3.html은 특별히 지정을 해줘야 뜨는데... index는 왜 디폴트죠?
    • JongHan Park
      완료
    • cd 파일경로 치신다음 하셔야 합니당!
      대화보기
      • 도전
        node main.js를 입력하면 SyntaxError: Unexpected identifier 가 뜨는 이유가 무엇일까요?
      • 샬롬
        완료
      • 임은정
        와안 료오
      • 잘 들었습니다 감사합니다!
      • 딥허브
        localhost:3000 해서 화면 안뜰때
        저는 리액트 설치하다가 yarn 으로 했는데 안떠서 구글링하고 하다가 여기까지 봤네요
        어찌어찌 해결해서 혹시나 같은방법으로 해결될수도 있는 분들 계실까봐 댓글달아둡니다.
        cmd 에서 프로젝트 폴더에서 set port=5000 명령어로 포트 바꿔주고
        다시 yarn start 하니까 해결됐습니다.
      • JT_brand
        감사합니다
      • ELECTRON까지
        저는 왜 console.log가 두번씩 찍힐까요...?
      • 아이랑디어
        와우.. 대박입니다 ㅠㅠ 제가 원하던 기능인데 node.js로 할 수 있겠네요
      • 학생
        너무 고맙습니다. 선생님.
      • 파이어뱃
        2019_12_05 complete
      • 남기봉
        인터넷익스플로러에서는 안되는데 , 크롬에서는 되네요.. ㅜㅜ
      • 박창신
        수강완료
      • 강다리
        달려요
      • 굼벵이
        완료
      • 조현철
        완료
      • 쑤우
        수강완료. 감사합니다~
      • CronEB
        파워풀 하네요
      • 아주코린
        완료
      • YesterdayKite
        완료. 감사합니다.
      • box3101
        php include 구문도 읽게하고싶은데 어떻게하면 좋을까요?
      • 완료
      • 주워니
        완료!
      • 정환
        20190621
      • egoing
        syntax highlight 라는 기능인데, 블로그에서 지원해줘야 사용할 수 있습니다.
        대화보기
        • 귤민파파
          저 이건 코딩하고 상관없는 질문인데요...
          포스팅된 글에 보면 (다른 해외 블로그도 있고..) 저 줄번호 있는 에디터는 일반 네이버 블로그 같은것에는 사용할수 없는건가요?
        • 작동이 안되서 댓글보고 수정했는데 됩니다 감사합니다
        • 성민
          감사합니다.
          잘 들었습니다.
        • 허공
          190510 감사합니다.
        • LEMILE
          저기서 coding.jpg파일 어떻게 보이게 하는지 아시는 분 있나요?
          coding.jpg파일을 data폴더에 옮겨 넣어도 안보이네요.
        • 이루
          완료!
        • 위준우
          완료
        • 아! 찾았습니다! 제가 잘못하고 있었네요ㅠㅠ 처음에 바탕화면-nodejs라는 폴더에 만들어놓고 web2-nodejs폴더 다시만들어서 거기에 있는 main.js파일을 실행하고 있던 거였습니다. 저처럼 안되시는 분들은 HTML소스코드 복사해온 그 폴더 안에있는 main.js 파일을 실행하신건지 한번 더 확인해보세요!
        • localhost:3000은 잘 들어가지는데 cmd에서 코드 갱신이 안되네요! 어떻게 해결해야 할까요 ㅠㅠ
        • 통신 MDP 좋아 ^_^
          완료 ^____________________^
        • 자유로움
          완료
        • localhost:3000시 오류 발생했는데 index.html만드니 정상동작했어요
        • 키리모찌
          repl.it에서 연습하시는 분들은
          __dirname = path.resolve(path.dirname(''));

          정의해주심 됩니다
        • cbw1030@naver.com
          개발환경 셋팅이 젤 어렵군
        • 류재정
          알아냈습니다.. 컨트롤 c였군요..ㅋㅋ
          대화보기
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기