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. Sukjoon Lee
    2022.08.11
  2. i_am_es
    2022-08-04
  3. 아캔두잇
    20220804 완료
  4. 돈버는기계왕
    localhost 3000이 사용중이라서 그럴 겁니다.

    다른 수업들으면서 3000을 사용한채로 키고 오신거 같은데요
    대화보기
    • 키다리아저씨
      220714 완
    • toonfac
      220704 오전 2시 34분 완료
    • 22.06.23 완료 맨날 리액트 실행시킬때 yarn start로 무지성으로 했는데 그 근본이 이거 였군요. 재밌네요. 좋은 강의 감사합니다.
    • 이성훈
      2022/06/22 벌써 흥미롭네요! c언어 구조체 배우다가 하니까 너무 재밌어요~
    • yjchun26
      2022/03/27 완료
    • 코지마 히데오 뺨 후릴 반바지
      마지막 부분이 이해가 잘 안간다. 일단은 계속 진행해보면서 이해해볼려고 한다.
    • chloekim66
      이강의랑 웹애플리케이션만들기랑 뭐가다른건가요 ???
    • 저는 9행 수정하라는거 안 해도 되던데...
      왜 수정해야하는 건지 아시는 분 있으신가요?
    • 화려하게간다
      호우 슬슬 ㅋㅋㅋㅋㅋㅋㅋ
    • 밍기
      2022-01-06 완료
    • 소설가
      2021-12-30 완료
      고맙습니다.
    • 맥 터미널에서 폴더경로이동은 cd (change directory)

      cd desktop/상위폴더/하위폴더 해서 본인이 저장한 폴더로 이동 후
      node main.js 하면 사이트 표시됨
    • 김관호
      2021.11.23
    • 솔나무
      예에
    • 칸타타
      저걸 아통에서 해야하는지 비주얼스튜디오에서 해야하는지요?
    • 동넝이
      21.10.11 완료
    • mijien0179
      궁금한게 있어요, 파비콘을 호출할 때 404 not found 코드를 넣는데, 왜 그런건가요? 아직 따로 파비콘을 지정하지 않은 상태라서 그런건가요?
    • 야옹스
      20211009!
    • inventorh
      2021.10.3 좋은강의 감사합니다
    • 20 단붕
      21.09.30
    • 210921 달리자
    • 전해성
      21.09.12 완료
    • 졸작완성하자
      21.09.05 완료
    • 코딩하는 배달이
      엄청납니다
    • 고영히
      210818 완료
    • Kangmin Kim
      21.08.14 완료
    • 승뇽뇽
      ㅇㄹ
    • 박사장
      2021 07 28 완료!
    • 눌아인
      설치시에 cd 경로 입력해서 폴더로 이동한 후에 시도해보셔요.
      저도 찾을 수 없다 덨는데 위의 방법으로 해결햇습니다.
      대화보기
      • labis98
        2021.07.20 완료
      • Duke
        2021.07.17
      • 안찬우
        node main.js 입력시 찾을 수 없다고 뜨는데 뭐가 문제 일까요? 9행도 변경은 했습니다
      • EJArt
        잘 모르겠는데... 그러려니 하고 듣고 있어요.
      • 정용헌
        20210710
      • 몰라요몰라
        C:\Users\sksms\Desktop\web2-nodejs>node main.js
        internal/fs/utils.js:314
        throw err;
        ^

        Error: ENOENT: no such file or directory, open 'C:\Users\sksms\Desktop\web2-nodejs/%EB%85%B8%EB%AC%B4%ED%98%84.jpg'
        [90m at Object.openSync (fs.js:498:3)[39m
        [90m at Object.readFileSync (fs.js:394:35)[39m
        at Server.<anonymous> (C:\Users\sksms\Desktop\web2-nodejs\main.js:14:21)
        [90m at Server.emit (events.js:375:28)[39m
        [90m at parserOnIncoming (_http_server.js:897:12)[39m
        [90m at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17)[39m {
        errno: [33m-4058[39m,
        syscall: [32m'open'[39m,
        code: [32m'ENOENT'[39m,
        path: [32m'C:\\Users\\sksms\\Desktop\\web2-nodejs/%EB%85%B8%EB%AC%B4%ED%98%84.jpg'[39m

        이렇게 에러 뜨는데 해결방법 아시는 분 계신가요...
      • 쇼크리더
        감사합니다
      • warmpeace
        완료!
      • 永瀬
        127.0.0.1:3000

        또는

        localhost:3000

        main.js의 app.listen(3000); 부분이 포트를 지정해주는 부분.
        필요한 경우 3000을 다른 숫자로 바꾸면 해당 포트로 접속 가능함.
      • 최선호
        localhost:3000을 chrome에 입력 하고 따라가야함 index.html 만 chrome으로 실행하면 안됨
        node로 listen 3000 이 localhost 의 포트 번호 인것 같음
      • 초딩 개발자
        2021/05/08
      • 별거
        2021,05.03 오..!!! 웹서버라니.. 포트주소까지!! 너무 궁금했는데..
      • Jeong Il Haan
        20210412
      • 서쥐서쥐
        210331 완료
      • 정윤아
        잘 모르겠어요 ㅠ 너무 어렵네요
      • kujern
        app.listen(3000); 으로 되어있기 때문에 반드시 localhost:3000 으로 크롬 주소창에 입력해야
        화면이 제대로 출력된다. 이 강의보고 따라하는 사람들은 삽질하지 말기 바란다.
      • kujern
        윈도우 cmd 창으로 하다가 왜 갑자기 mac 에디터로 강의하나요? 따라하기 힘듭니다.
        인내심 테스트 하는 것 같아요.
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기