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 |