javaScript/nodeJs

노드js http// 서버열기

부엉이사장 2022. 6. 24. 10:08
const http = require('http');

http모듈을 가져왔다.

 

const server = http.createServer(async (req, res)=>{
    try {
        res.writeHead(200, {'Content-Type':'text/html; charset=utf-8'}) //html언어다라고 알려주는거.. 몇몇브라우저엔 알려줘야함.
        await fs.readFile('./http.html')
        .then((data)=>{
            res.end(data)
        })

    }catch (error){
        console.log(error);
        res.writeHead(200, {'Content-Type':'text/plain; charset=utf-8'})
        res.end(error.message)
    }
   
})
.listen(8080)

server이라는곳에 서버만드는 함수를 전해준 이유는

나중에 서버연결 완료 처리+에러처리를 하기위해서다. 

따라서 밑에

server.on('listening', ()=>{
    console.log('연결됬어요 8080')
})
server.on('error',(error)=>{
    console.error(error)
})

이렇게 코드를 더해줬다.

 

다시 서버코드에서 async로 함수를 만들어줬고 try catch로 에러처리를 해주었다.

 

res.writeHead(200, {'Content-Type':'text/html; charset=utf-8'})

이 코드를 친이유는 몇 브라우저에선 html언어인지 인식못하기떄문에..

브라우저에서 <h1>하잉</h1>이라고 뜰수도 있음.

 

그다음 fs시스템으로 http.html파일의 내용을 가져와서

res.end로 보내주었다.