front-end : HTML5, CSS3, Pug
back-end : NodeJS, MongoDB, Express
#3 Introduction To EXPRESS
3.0 Your First Server
//server.js
import express from "express";
const app = express();
=> application(server)를 생성한다.
서버는 항상 켜져있고 인터넷에 연결되어있는 컴퓨터라고 볼 수 있다.
서버는 외부 접속인 request를 항상 listening 한다.
app.listen(4000, handleListening);
=> 서버가 포트4000을 listening하고 있다.
3.1 GET Requests
브라우저는 서버에 웹사이트를 request하고 페이지를 가져다 준다.
이 request는 http request인데, http request는 웹사이트에 접속하고 서버에 정보를 보내는 방법이다.
그 종류로는 GET과 POST가 있다.
3.2 GET Requests part Two
이제 서버는 request에 반응 해야 한다.
app.get("/", () => console.log("Somebody is trying to go home");
=> 브라우저가 서버에게 route가 포함된 get request를 보내고 있을 때 이와 같이 처리할 수 있다.
웹사이트에 접속하려 할 때마다 get request를 생성하고 이 request에 응답하는 서버가 꼭 있어야 한다.
3.3 Responses
브라우저가 서버를 호출하면, 서버는 response를 보내줘야 함
route handler에게는 req, res 두개의 인자가 있음
const handleHome = (req, res) => {
return res.end();
};
app.get("/", handleHome);
express의 다양한 req, res 처리방법
https://expressjs.com/en/4x/api.html#express
Express 4.x - API Reference
Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex
expressjs.com
3.5 Middlewares part One
request에 관련된 모든 컨트롤러가 미들웨어이다
handler = controller = middleware 거의 동일한 개념이지만 차이점을 두자면
- 컨트롤러: 미들웨어의 일종이지만 메인 로직을 담당하므로 분리해서 관리
- 미들웨어: 메인 로직의 컨트롤러 앞뒤로 추가적인 일을 담당
미들웨어는 request와 response사이에 있다.
request에 직접적인 응답을 하는 것이 아니라 request를 지속시켜 넘기는 역할을 한다.
미들웨어는 req, res, next 세 개의 인자를 받아 처리한다.
next()함수를 호출하여 다음 함수로 넘어가게 할 수 있다.
return을 하면 연결이 종료되기 때문에 return하는 함수는 finalware이라고 부른다.
3.6 Middlewares part Two
app.use()은 global 미들웨어로써 어느 url에도 작동한다.
app.use(logger);
app.use(gossipMiddleware);
app.get("/", handleHome);
app.use()가 app.get()보다 무조건 먼저 와야지만 모든 url에 적용시킬 수 있다.
'강의기록' 카테고리의 다른 글
[유튜브 클론코딩] #6 MONGODB AND MONGOOSE (0) | 2022.05.17 |
---|---|
[유튜브 클론코딩] #5 TEMPLATES (0) | 2022.05.17 |
[유튜브 클론코딩] #4 ROUTERS (0) | 2022.05.17 |
[유튜브 클론코딩] #1 #2 Setup (0) | 2022.05.17 |
front-end : HTML5, CSS3, Pug
back-end : NodeJS, MongoDB, Express
#3 Introduction To EXPRESS
3.0 Your First Server
//server.js
import express from "express";
const app = express();
=> application(server)를 생성한다.
서버는 항상 켜져있고 인터넷에 연결되어있는 컴퓨터라고 볼 수 있다.
서버는 외부 접속인 request를 항상 listening 한다.
app.listen(4000, handleListening);
=> 서버가 포트4000을 listening하고 있다.
3.1 GET Requests
브라우저는 서버에 웹사이트를 request하고 페이지를 가져다 준다.
이 request는 http request인데, http request는 웹사이트에 접속하고 서버에 정보를 보내는 방법이다.
그 종류로는 GET과 POST가 있다.
3.2 GET Requests part Two
이제 서버는 request에 반응 해야 한다.
app.get("/", () => console.log("Somebody is trying to go home");
=> 브라우저가 서버에게 route가 포함된 get request를 보내고 있을 때 이와 같이 처리할 수 있다.
웹사이트에 접속하려 할 때마다 get request를 생성하고 이 request에 응답하는 서버가 꼭 있어야 한다.
3.3 Responses
브라우저가 서버를 호출하면, 서버는 response를 보내줘야 함
route handler에게는 req, res 두개의 인자가 있음
const handleHome = (req, res) => {
return res.end();
};
app.get("/", handleHome);
express의 다양한 req, res 처리방법
https://expressjs.com/en/4x/api.html#express
Express 4.x - API Reference
Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex
expressjs.com
3.5 Middlewares part One
request에 관련된 모든 컨트롤러가 미들웨어이다
handler = controller = middleware 거의 동일한 개념이지만 차이점을 두자면
- 컨트롤러: 미들웨어의 일종이지만 메인 로직을 담당하므로 분리해서 관리
- 미들웨어: 메인 로직의 컨트롤러 앞뒤로 추가적인 일을 담당
미들웨어는 request와 response사이에 있다.
request에 직접적인 응답을 하는 것이 아니라 request를 지속시켜 넘기는 역할을 한다.
미들웨어는 req, res, next 세 개의 인자를 받아 처리한다.
next()함수를 호출하여 다음 함수로 넘어가게 할 수 있다.
return을 하면 연결이 종료되기 때문에 return하는 함수는 finalware이라고 부른다.
3.6 Middlewares part Two
app.use()은 global 미들웨어로써 어느 url에도 작동한다.
app.use(logger);
app.use(gossipMiddleware);
app.get("/", handleHome);
app.use()가 app.get()보다 무조건 먼저 와야지만 모든 url에 적용시킬 수 있다.
'강의기록' 카테고리의 다른 글
[유튜브 클론코딩] #6 MONGODB AND MONGOOSE (0) | 2022.05.17 |
---|---|
[유튜브 클론코딩] #5 TEMPLATES (0) | 2022.05.17 |
[유튜브 클론코딩] #4 ROUTERS (0) | 2022.05.17 |
[유튜브 클론코딩] #1 #2 Setup (0) | 2022.05.17 |