#3.8 server Recap

이원규·2022년 6월 2일
0

Itube

목록 보기
9/46
post-custom-banner

what is server?

server는 항상 켜져있고, 인터넷에 연결돼 있으면서 requests(우리가 서버에게 요청하는 것들-예를 들어 유튜브, 웹 등에 접속할 때, 댓글을 쓸 때 등 브라우저를 통해 웹사이트에게 하는 모든 상호작용)를 listening하고 있는 컴퓨터임. 즉, 우리가 계속 listening하고 있는 port를 server라 함.

나의 행동을 listening하고 있는 서버에만 request를 보낼 수 있음. 다음 코드가 내 행동을 리스링 하고 있는 것임.

app.listen(PORT, handleListening);

server 만들기

import express from "express";
const app = express(); // => express함수 호출



const PORT = 4000;
const handleListening = () => console.log(`Server listening on port http://localhost:${PORT}`);
app.listen(PORT, handleListening); //=>이 서버는 port4000만 listening하고 있음.
  • port를 쓰는 이유: 서버는 내 컴퓨터 모두를 listen할 수 없기 때문에 port(컴퓨터로의 창문 or 문)가 필요함. 우리의 경우는 창문이 열린 상태라 누구나 접근 가능.
    여기서 하는 일은 문이나 창문을 여는 것과 같음. port에는 어떤 번호를 써도 상관없지만 4000을 쓰는게 백엔드 관습임. 4000은 항상 비어있음.
    port를 통해 홈페이지(/)-(이것 또한 route임.)로 들어갈 수 있고, 그 외에 /login, /watch 등 그 port내의 다른 곳으로 들어갈 수 있는 문들을 만들어야함. 우리는 이 문을 routes라 부른다.
  • 위의,app.listen에 쓰인 함수(우리의 경우엔 handleListening): 이 함수는 listen이 시작되면 호출되는 함수임.

  • 여기서 우리가 한 건 nodeJS에서 아주 기본적인 것임.

  • http method: http method 중 get(사이트 가져오기)은 가장 기본적인 method임. 사실 우리가 어떤 웹사이트에 접속할 때, 우리가 웹사이트로 가는게 아니라 브라우저를 통해 웹사이트를 가ㅈㅕ오는 것임.
    브라우저는 누군가 홈페이지를 get하려고 할 때 어떻게 반응해야될지 알려줘야함.
    이는 다음과 같은 코드로 반응할 수 있음.

app.get(path, handler);
우리와 같은 경우는

const handleHome = (req, res, (next는 생략)) => return res.send("<h1>home</h1>)";
app.get("/", handleHome);

이 말은 즉슥, homepage("/")를 get할 때, handleHome이라는 함수로 respond(반응)해준다는 뜻임.
이 때, handleHome함수에 return res.send(~~)등 반응해주는 것이 없다면(return이 없다면) 브라우저는 반응이 올 때까지 기다릴 것임.

반응을 안해주는 코드:

const handleHome = (req, res, (next는 생략)) => console.log("home");
app.get("/", handleHome);

반응이 올 때까지 대기함.

profile
github: https://github.com/WKlee0607
post-custom-banner

0개의 댓글