[App] Not found 오류 구현

mingguriguri·2022년 5월 30일
0

Node.js

목록 보기
13/21
post-thumbnail

22.5.24 - 22.5.30

19-1. App - Not found 오류 구현

존재하지 않는 정보에 대한 요청이 들어왔을 때 Not found 오류 메세지를 전송하는 방법에 대해 배움

<19-1강 메인코드>

var http = require('http');
var fs = require('fs');
var url = require('url');

var app = http.createServer(function(request,response){
  var _url = request.url;
  //var queryData = new URL('http://localhost:3000' + _url).searchParams;
  var queryData =url.parse(_url, true).query;
  var pathname = url.parse(_url, true).pathname;
  var title = queryData.id;

  if(pathname === '/'){
    fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){
      var template = `
      <!doctype html>
      <html>
      <head>
        <title>WEB1 - ${title}</title>
        <meta charset="utf-8">
      </head>
      <body>
        <h1><a href="/">WEB</a></h1>
        <ul>
          <li><a href="/?id=HTML">HTML</a></li>
          <li><a href="/?id=CSS">CSS</a></li>
          <li><a href="/?id=JavaScript">JavaScript</a></li>
        </ul>
        <h2>${title}</h2>
        <p>${description}</p>
      </body>
      </html>

      `;
      response.writeHead(200);
      response.end(template);

    });
  } else {
    response.writeHead(404); //약속된 언어
    response.end('Not Found');
  }

//console.log(__dirname + url);

});
app.listen(3000);

설명

  1. 조건문 처리했던 건 지움 (새로 pathname으로 재작성)
  2. if ➡ 원래 코드 실행
    else ➡ Not found 실행
  • response.writeHead(200) : 기계와 기계가 통신하기 위한 약속 - 파일성공적으로 전송!
  • response.writeHead(404) : 파일을 찾을 수 없을 때 사용

결과

WEB은 아직 구현 되지 않은 상태, HTML / CSS / Javascript를 클릭하면 각각의 페이지 나옴
그러나 그 외의 주소로 들어가는 경우 오류메시지 전송함

느낀 점

여전히 어렵다.. 그래서 구체적이게는 몰라도, 일단은 작성했다.

profile
To be "irreplaceable"

0개의 댓글