: 클라이언트 > 서버로 요청(request)을 보냄
const http = require('http');
http.createServer((req,res)=>{
// 응답할 내용을 작성
})
const http = require('http');
// 클라이언트에서 요청이 오면 만들어놓은 서버를 호출하게 되고 아래 함수에서 어떻게 응답을 보내줄 지 작성
const server = http
.createServer((req, res) => {
res.write(`<h1>Hello node</h1>`); // 각각의 스트림
res.write(`<p>Hello server</p>`); // 두번 작성하고
res.end(`<p>Hello world</p>`); // 마지막으로 종료하면서 작성
})
.listen(8080);
// 서버도 비동기이기 때문에 에러처리 해줘야함
server.on('listening', () => { // process로 올리기
console.log('8080번 포트에서 서버 대기 중'); // 프로세스로 올릴 때는 한 개 포트를 점유하게 된다.
});
server.on('error', (err) => {
console.error(err);
});
// localhost:8080입력하면 서버 접속 가능
// localhost는 내부 주소이기 때문에 외부에서는 접근이 불가능하다.
const http = require('http');
const fs = require('fs').promises;
const server = http
.createServer(async (req, res) => {
// html인지 문자열이 구분을 못하는 브라우저도 존재함 이런 경우에 html이라고 알려줘야 함.
// 한글 인식을 못하는 곳도 있기 때문에 utf-8도 추가해준다.
try {
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
// text/html은 html이란 걸 알려줌
const data = await fs.readFile('./server2.html'); // 연결할 html을 읽고
res.end(data); // 읽은 html을 응답해준다.
} catch (error) { // 비동기는 항상 error 처리 해주기
console.error(error);
res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
// text/plain은 일반 문자열이란 걸 알려줌
res.end(err.messsage);
}
})
.listen(8080);
server.on('listening', () => {
console.log('8080번 포트에서 서버 대기 중');
});
server.on('error', (err) => {
console.error(err);
});