NodeJs - 모듈(http) NodeJs의 가장 기본적인 웹 모듈 http 웹 서버와 클라이언트를 생성 request : 요청 메시지 - url, parameter 등 수신 response : 응답 메시지 : 사용자에게 적절한 페이지 전송, 쿠키 저장 및 추출, 페이지 이동(forward) 객체 생성 : http.createServer() 주요 메소드 - listen 서버 대기 - close() 서버 종료 주요 이벤트 - connection : client 접속 - request : client 요청 수신 - close : 서버 종료 var http = require('http'); var server = http.createServer(); server.on('connection',function(socket){ console.log('connected :'+socket.localAddress); }); server.on('request',function(request,response){ var url = request.url; console.log('url :'+url); console.log('method :'+request.method); Header response.writeHead(200,{'Content-Type':'text/html'}); Body response.write('<h1>Welcome to NodeJs</h1>'); response.write('<h2>made by jeongchul</h2>'); response.end(); }); server.on('close',function(){ console.log('closed'); }); server.listen(8080,function(){ console.log('server is running on 8080 ...'); }); telnet localhost 8080 GET /index.html HTTP/1.1 (enter 2번) Browser 실행하여 localhost:8080 입력 localhost:8080/abc.html var http = require('http'); var server = http.createServer(function(request,response){ var url = request.url; console.log('url :'+url); console.log('method :'+request.method); /* Header */ response.writeHead(200,{'Content-Type':'text/html'}); /* Body */ response.write('<h1>Welcome to NodeJs</h1>'); response.write('<h2>made by jeongchul</h2>'); response.end(); }); /*server.on('connection',function(socket){ console.log('connected :'+socket.localAddress); }); server.on('request',function(request,response){ var url = request.url; console.log('url :'+url); console.log('method :'+request.method); Header response.writeHead(200,{'Content-Type':'text/html'}); Body response.write('<h1>Welcome to NodeJs</h1>'); response.write('<h2>made by jeongchul</h2>'); response.end(); }); server.on('close',function(){ console.log('closed'); }); server.listen(8080,function(){ console.log('server is running on 8080 ...'); }); */ request 이벤트 리스너 첫 번째 매개변수로 전달 client에서 요청한 내용을 표현 주요 속성 method : GET/POST/PUT/DELETE url : 요청 url headers : request header httpVersion : http1.1 or http1.0 페이지 구분 url 모듈 활용 : url.parse(requset.url).pathname webserver.js var http = require('http'); var fs = require('fs'); var url = require('url'); var server = http.createServer(function(req,res) { var pathname = url.parse(req.url).pathname; if(pathname === '/') { pathname = '/index.html'; } pathname = './docRoot' + pathname; console.log('req : '+req.url+', path : '+pathname); fs.readFile(pathname,function(err,data){ if(err) { res.writeHead(404,{'Content-Type':'text/html'}); res.end('<h1>404, Not Found</h1>'); }else { res.writeHead(200,{'Content-Type':'text/html'}); res.end(data); } }); }); server.listen(8080, function() { console.log("server is running on 8080 ..."); });http 모듈
Server 객체
주소창에
request 객체
'Computer Language' 카테고리의 다른 글
Python 3 기본 문법 (0) | 2017.02.04 |
---|---|
Web-Crawler BeautifulSoup Python (0) | 2017.01.06 |
NodeJs - 모듈(FileSystem, Event, Network) (0) | 2016.02.23 |
NodeJs (0) | 2016.02.23 |
Eclipse Webserver + HTML Project (0) | 2016.02.22 |