Express 기초 - GET request
by devluvpillow
참고 자료
Nomad Coders의 Youtube clone 강의를 참고하였습니다.
express 공식 문서
HTTP - wikipedia
1. 서버란?
클라이언트에게 네트워크를 통해 정보나 서비스를 제공한다.
쉽게 말하면 인터넷에 연결된채로 계속 켜져있는 컴퓨터와 같다.
서버는 항상 사람들의 요청에 대기중이며, 사용자의 요청(request)을 듣고(Listening) 응답(response)한다.
2. Express는 무엇인가?
node.js 웹 애플리케이션 프레임워크다.
내장 기능과 모듈이 있어 쉽고 빠른 코드 작성을 도와준다.
3. Express 시작학기
// server.js
// node_modules 폴더에서 express를 불러온다.
import express from "express";
// 임의의 포트 지정
const PORT = 4000;
const app = express();
const handleListening = () =>
console.log(`Server listenting on port http://localhost:${PORT}`);
// app.listen(지정 포트, 콜백 함수) - 지정한 포트에서 요청을 기다린다.
app.listen(PORT, handleListening);
4. GET과 POST의 차이
- HTTP(HyperText Transfer Protocol)란? : 웹상에서 정보를 주고받을 수 있는 프로토콜이다. 즉 사용자와 서버와 소통하는 방법이다.
가장 오래되고, 처음 시도된 방법이며 클라이언트와 서버 사이의 요청(request)은 웹 브라우저가 만들어준다.
-
HTTP의 method
-
GET: 서버로부터 정보를 조회하기 위해 설계된 메소드이다. 정보를 쿼리 스트링에 담아 전송한다. (ex. 검색기능)
-
POST: 리소스를 생성/변경하기 위해 설계된 메소드이다. 그러므로 클라이언트 측에서 서버로 데이터 전송이 가능하다. 정보를 body에 담아 전송하며 요청 헤더의 Content-Type에 요청 데이터의 타입을 표시해야한다. (ex. 블로그 글 업로드)
-
5. Express로 GET requests에 응답하는 법
// server.js
// 요청에 대한 callback 함수를 controller라 한다.
const handleHome = () => console.log("Somebody is trying to go home.");
// root 경로로 요청이 들어오면 콜백 함수(handler)를 실행한다.
app.get("/", handleHome);
6. handler 함수는 req, res가 꼭 필요하다!
-
req: 객체 는 reqHTTP 요청을 나타낸다. 요청 쿼리 문자열, 매개변수, 본문, HTTP 헤더 등에 대한 속성을 가지고 있다.
-
res: Express 앱이 resHTTP 요청을 받을 때 보내는 HTTP 응답을 말한다. res객체의 내장 필드에는 다양한 기능들이 있다.
ex) res.end(): 접속 종료, res.send(), res.download() 등등
const handleLogin = (req, res) => {
// req에는 상황에 따라 query등의 정보가 추가된다.
// res의 내장 함수에는 많은 기능이 있다.
// ex) res.end(): 접속 종료, res.send(), res.download() 등등
return res.send("Login page: Response for you~");
};
// 이렇게 쉽게 login 경로(route) 생성이 가능하다.
app.get("/login", handleLogin);
Subscribe via RSS