http 모듈

MINBOK·2021년 12월 23일
0

Node.js

목록 보기
1/2
post-thumbnail

server 객체

01. 생성

http 모듈의 createServer() 메서드로 server 객체 생성

const server = http.createServer() // 웹 서버 생성

02. 메서드

  • listen(port, callback) : port로 서버 실행
server.listen(3000, function(){}) // 3000번 포트로 서버실행
  • close(callback) : 서버종료

  • on : server에 이벤트 연결

03. 이벤트

const http = require('http');
const server = http.createServer(function(req, res){
    res.write(`
    <!DOCTYPE html>
    <html>
    <head>
        <title>test</title>
    </head>
    <body>
        <form action="/" method="get">
            id : <input type="text" name='id_value'><br>
            pw : <input type="pw" name='pw_value'><br>
            <input type="submit" value="login">
        </form>
    </body>
    </html>
    `);
    res.end();
});

server.listen(8080);

response 객체

01.메서드

const http = require('http');
const fs = require('fs');
const querystring = require('querystring');
// 쿼리스트링 관련 공식문서
// https://nodejs.org/dist/latest-v16.x/docs/api/querystring.html
const server = http.createServer(function(req, res){
console.log('server가 구동중입니다.');
// get과 post 둘 다 테스트
if(req.method == 'GET') {
fs.readFile('./test.html', 'utf8', (err, data) => {
console.log(err);
//writeHead대신 setHeader를 사용하여 type을 보낼 수 있음
res.writeHead(200, {'Content-Type':'text/html'});
res.write(data);
res.end();
})
} else if(req.method =='POST') {
req.on('data', function(chunk) {
console.log(chunk.toString());
let data = querystring.parse(chunk.toString());
console.log(data);
res.writeHead(200, {'Content-Type':'text/html'});
res.write(id : ${data.id_value}, pw : ${data.pw_value});
res.end();
});
}
});

server.listen(8080);

참고한 글 https://kss7547.tistory.com/43

0개의 댓글