간단 한 nodejs http 서버 구축 상세 설명
간단 한 설정 을 통 해 nodejs 기반 http 서버 를 구축 할 수 있 습 니 다.
switch 를 통 해 url 루트 를 설정 하 는 방법
// Node HTTP ,
// URL
// HTTP://localhost:8000 http://127.0.0.1:8000
//
var http = require('http'); // http api
var fs = require('fs'); // fs api
var server = new http.Server(); // HTTP
var urlapi = require('url'); // url api
server.listen(8000); // 8000
// on , , ,
server.on('request', function(request, response) { // request
// URL
var url = urlapi.parse(request.url);
// , url
console.log(url.pathname);
// URL
switch(url.pathname) { //
case ''||'/' : // , , index.html ,nodejs ,
fs.readFile("./page/index.html", function(err, content){ //
if(err) { // ,
response.writeHead(404, { 'Content-Type':'text/plain; charset="UTF-8"' });
response.write(err.message);
response.end();
} else { //
response.writeHead(200, { 'Content-Type' : 'text/html; charset=UTF-8' }); // ,
response.write(content); // , buter
response.end(); // , , ,
}
});
break;
case '/test/delay'://
// , 2000
var delay = parseInt(url.query) || 2000;
//
response.writeHead(200, {'Content-type':'text/plain; charset=UTF-8'});
//
response.write('Sleeping for' + delay + ' milliseconds...');
//
setTimeout(function(){
response.write('done.');
response.end();
}, delay);
break;
case '/test/mirror':// test/mirror,
//
response.writeHead(200, {'Content-type':'text/plain; charset=UTF-8'});
//
response.write(request.mothod + ' ' + request.url + ' HTTP/' + request.httpVersion + '\r
');
//
for (var h in request.headers) {
response.write(h + ':' + request.headers[h] + '\r
');
}
response.write('\r
');//
//
// ,
request.on('data', function(chunk) { response.write(chunk); });
// ,
request.on('end', function(chunk){ response.end(); });
break;
case '/json' : // JSON
//
response.writeHead(200, {'Content-type':'application/json; charset=UTF-8'});
response.write(JSON.stringify({test:'success'}));
response.end();
break;
default:// , ,
var filename = url.pathname.substring(1); // '/'
var type = getType(filename.substring(filename.lastIndexOf('.')+1));
console.log(filename); // css js ....
// ,
// , API fs.createReadStream()
fs.readFile(filename, function(err, content){
if(err) {
response.writeHead(404, { 'Content-Type':'text/plain; charset="UTF-8"' });
response.write(err.message);
response.end();
} else {
response.writeHead(200, { 'Content-Type' : type });
response.write(content);
response.end();
}
});
break;
}
});
//
function getType(endTag){
var type=null;
switch(endTag){
case 'html' :
type = 'text/html; charset=UTF-8';
break;
case 'htm' :
type = 'text/html; charset=UTF-8';
break;
case 'js' :
type = 'application/javascript; charset="UTF-8"';
break;
case 'css' :
type = 'text/css; charset="UTF-8"';
break;
case 'txt' :
type = 'text/plain; charset="UTF-8"';
break;
case 'manifest' :
type = 'text/cache-manifest; charset="UTF-8"';
break;
default :
type = 'application/octet-stream';
break;
}
return type;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Node.js를 AWS서버에서 사용하는 실습간단한 예제와 함께 AWS에서 Node.js를사용하는 법을 배워보도록 하겠다. 해당 github에 있는 레포지토리로 사용을 할 것이다. 3000번 포트로 Listen되는 예제이고 간단히 GET, POST, DELET...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.