const http = require("http");
//http 모듈에서 서버를 만들때 createServer 메서드 사용
const server = http.createServer((req, res) => {
console.log("요청 발생");
});
//서버를 실행시킬 때는 만든서버(server)에 listen메서드 사용
//실행 시킬때 포트번호 지정시켜줘야힘
server.listen(3000, () => {
console.log("서버 실행중");
});
node.js 터미널 실행할때 cd로 해당폴더 접근 후 node 파일이름(server-1.js) 명령어 치면됨
서버 실행 후 브우저창에서 http://localhost:3000/로 접속하면 현재 요청 발생할 때 어떻게 처리할지 지정안했기 때문에 브라우저엔 아무것도 안나오지만 요청이 발생됨

const http = require("http");
//req가 어떠한 정보를 담고있는지 확인
const server = http.createServer((req, res) => {
console.log(req);
});
server.listen(3000, () => {
console.log("서버 실행중");
});
http://localhost:3000 로 접속 ->
// 응답 객체 확인하기 - 응답 헤더, 응답 본문, 응답 종료
const http = require("http");
//요청을 서버로 보내고 서버에서 그 요청에 대한 응답을 보내면 그 연결이 바로 끊기게 됨
const server = http.createServer((req, res) => {
// 내가 사용할 콘텐츠 타입이 무엇인지 지정
res.setHeader("Content-Type", "text/plain");
//write메서드 사용해서 화면에 그려줌
res.write("Hello Node");
//end메서드를 사용해 응답이 명확히 끝난것을 지정
res.end();
});
server.listen(3000, () => {
console.log("서버 실행중");
});
http://localhost:3000 로 접속 ->
라우팅이란 클라이언트에서 들어오는 요청에 따라 그에 맞는 함수를 싱행
예) nodsjs.org 사이트에서
nodsjs.org/en/about로 요청하면 About Node.js화면으로 이동
라우팅을 이용하면 사용자가 입력하는 URL에 따라 다른 내용을 보여줄 수 있음
GET이나 POST, PUT DELETE같은 요청 메서드에 따라 처리할 함수를 다르게 연결할 수도 있음
아래는 초간단 예시고 나중에 라우팅할게 많기 때문에 Express라는 프레임워크 사용
const http = require("http");
const server = http.createServer((req, res) => {
// req.url : 요청경로 가져옴
// req.method : 요청 메소드 가져옴
const { url, method } = req;
res.setHeader("Content-Type", "text/plain");
if (method === "GET" && url === "/home") {
res.write("home");
res.end();
} else if (method === "GET" && url === "/about") {
res.end("about"); //그려줄게 한개면 end에 넣어도됨
} else {
res.end("not found");
}
});
server.listen(3000, () => {
console.log("서버 실행중");
});


