본문 바로가기
자바스크립트와 캔버스

Node.js - Part 12-1. 동적웹페이지? 그게 뭔데?

처음부터 시작하는 AWS와 Node.js 책자 본문 일부입니다.

https://itadventure.tistory.com/493

 

[전자책 출간!] 처음부터 시작하는 AWS와 Node.js ( express )

65 페이지 분량의 미리보기 책을 무료로 제공해드립니다 첨부파일을 다운로드하셔서 보시고 관심을 갖게 되신다면 그 때 구매하세요! 그동안 집필해본 '처음부터 시작하는 AWS와 Node.js' PDF 전자

itadventure.tistory.com

 

정적의 반대말은 동적이지요.
동적 웹페이지란 어떤 것일까요?
웹페이지가 막 걷기도 하거나 뛰기도 하거나 하는 등 움직이는 것일까요?... ^^;

이전 Part에서는 express 프레임워크에서 정적 웹사이트를 구성, 서비스하는 부분을 살펴 보았습니다.
정적인 웹사이트는 마치 과 같은데요.
그 내용은 변화할 수 없고 항상 고정된 형태의 결과만 제공할 뿐입니다.

하지만 대부분의 홈페이지는 사용자 액션에 따라 결과가 달라지는 웹페이지 기능을 제공하듯이
node.js 또한 이런 기능이 제공되는데요.

이를 동적(기능성) 웹페이지라고 합니다.

동적 웹페이지는 node.js에서 자바스크립트 코드로 기능을 구성할 수 있습니다.

 

2   에러 페이지 만들기

 

이제 한가지 테스트를 해 봅시다.
node.js 가 여전히 실행중인 가운데, 웹 브라우저에서 아래 URL을 입력해 보세요.

퍼블릭IP:8080/cat.html

그러면 이런 결과가 보여질 텐데요.
cat.html 이라는 파일을 찾을 수 없다는 의미로 오류 메시지가 표시됩니다.

웬 지 좀 빈약해 보이네요. 보통은 아래와 같이 표시되는게 일반적인데요.

우리도 비슷하게 만들어 보도록 합시다.
main.js 파일을 아래와 같이 수정해 주세요. 단순했던 4줄이 양이 좀 불어났네요^^

const express=require('express');
const app=express();
 
// public 폴더 하위의 파일들을 기본으로 서비스
app.use(express.static('public'));
 
// 페이지를 찾을 없음 오류 처리
app.use(function(req, res, next) {
    res.status(404); 
    res.send(
    '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">' +
    '<html><head><title>404 페이지 오류</title></head>' +
    '<body><h1>찾을 없습니다</h1>' +
    '<p>요청하신 URL ' + req.url + ' 서버에서 찾을 없습니다..</p><hr>' +
    '</body></html>'
  );
});
 
app.listen(8080, function() {});


그리고 node.js 서비스를 다시 시작해 주세요.
Ctrl + C키를 눌러 서비스를 멈추고,
node main.js ! 기억하시나요?

다시 한번 아래 URL에 접속해 보실까요?

퍼블릭IP:8080/cat.html

엇, 화면이 바뀌었습니다. 이제 확실히 오류 페이지 답네요.


만일 영문 페이지로 띄우시려면 아래 소스로 입력해 주시면 되는데요.

const express=require('express');
const app=express();
 
// public 폴더 하위의 파일들을 기본으로 서비스
app.use(express.static('public'));
 
// 페이지를 찾을 없음 오류 처리
app.use(function(req, res, next) {
    res.status(404); // 브라우저에 404 오류 코드 반환
    // 보여줄 오류 페이지를 상세히 구성
    res.send(
        '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">' +
        '<html><head><title>404 Not Found</title></head>' +
        '<body><h1>Not Found</h1>' +
        '<p>The requested URL ' + req.url + ' was not found on this server.</p><hr>' +
        '</body></html>'
    );
});
 
app.listen(8080, function() {});

이 책에서는 한글 오류페이지를 사용하겠습니다.
오류 페이지도 일종의 동적웹페이지라는 점 정도만 기억해 주세요.


방문해주시는 모든 분들께 늘 감사드립니다.

도움이 되셨다면 공감 한방, 댓글은 굿잡!
감사합니다~


다음 이야기 : https://itadventure.tistory.com/520

 

Node.js - Part 12-3. 동적웹페이지 만들기

처음부터 시작하는 AWS와 Node.js 책자 본문 일부입니다. https://itadventure.tistory.com/493 [전자책 출간!] 처음부터 시작하는 AWS와 Node.js ( express ) 65 페이지 분량의 미리보기 책을 무료로 제공해드립..

itadventure.tistory.com