본문 바로가기
[웹]

[Node.js] Not found 구현

by Hevton 2020. 9. 29.
반응형

Node.js로 웹서버를 구현할 때, 특정 파일을 메인 파일로 지정하여 그 파일 안에 웹서버 구축 코드를 작성한다.

페이지에 접속하면 그 파일에 접속하는 것.

 

루트 경로(웹서버 파일)이 아닌 다른 경로에 접속하려 하거나 또는 필요에 따라 Not found를 구현해줄 수 있다.

 

웹서버가 구축되는 js파일안에

// ps. response 변수가 정의되어있어야함.
var url = require('url');

var pathname = url.parse(_url, true).pathname;
if(pathname==='/') {
     response.writeHead(200);
     response.end(보여줄 것);
} else {
     response.writeHead(404);
     response.end('Not found');	
}

이런식으로 작성해주면 가능하다.

위 예제는, 루트파일(웹서버 파일)로 접속하지 않고 임의의 다른 경로로 접속하려는 경우 사이트 에러를 표시해주는 예제이다.

목적에 따라 알맞게 사용할 수 있겠다.

ps. 위에서 언급했듯 사실상 웹 페이지에 접속하면 웹서버가 구현된 해당 파일에 접속되는 것이므로, 경로로 무슨 값을 입력하던 간에 그 파일에게 데이터가 전송된다.

주소창 입력을 통해 그 파일이 있는 경로의 다른 파일에 자동으로 접근할 수 있는게 아니라 전부 루트 파일에 데이터가 전송된다. 그리고 거기서 코드구현을 통해 스위칭을 해주어야 다른파일들로 접근할 수도 있는 것이다.

 

 

pathname은 메타데이터(쿼리스트링)를 제외한 웹 사이트의 경로 입력값을 보여준다. -> 순수 path

ex) /, /main/hello , /main ...

 

pathname을 통해 루트 경로로 (해당 웹서버 파일로) 잘 접속했는지를 확인하고 루트 경로로 잘 접속했으면

writeHead에 200을 띄우는데, 200은 HTTP_OK 라는 뜻으로 잘 로드되었다는 코드다.

이와 반대로 대표적인 코드로 404는 웹 사이트 페이지 에러를 의미하는 코드이다.

 

수업의 출처는 opentutorials.org 의 이고잉님이십니다. 감사합니다.

반응형

'[웹]' 카테고리의 다른 글

[JavaScript] Undefined  (0) 2020.09.29
[JavaScript] 자바스크립트에서의 배열  (0) 2020.09.29
[Node.js] 콘솔에서의 입력 인자  (0) 2020.09.29
[Node.js] 파일 읽기 / 쓰기  (0) 2020.09.29
[Node.js] Url 파싱  (0) 2020.09.29