본문 바로가기
Elice SW 2/TIL

DAY 28 - TIL

by 자이구 2022. 5. 12.

미들웨어

  • HTTP 요청과 응답 사이에서 단계별 동작을 수행해 주는 함수
  • HTTP 요청이 들어온 순간 부터 시작
  • HTTP 요청과 응답 객체 처리 OR 다음 미들웨어 실행
  • HTTP 응답 마무리 까지 미들웨어 동작 사이클이 실행
  • req,res,next를 가진 함수를 작성하여 미들웨어로 동작
  • 필요한 동작 방식에 따라 미들웨어를 적용할 위치를 결정
  • 어플리케이션 미들웨어/ 라우터 미들웨어/ 오류처리 미들웨어

어플리케이션 미들웨어

  • use 나 http method 함수를 사용하여 미들웨어를 연결
  • 미들웨어를 모든 요청에 공통적으로 적용하기 위한 방법'
  • HTTP 요청이 들어온 순간부터 적용된 순서대로 동작

오류처리 미들웨어

  • err,req,res,next를 가진 함수를 작성하여 미들웨어로 동작
  • 앞선 미들웨어에서 next 함수에 인자가 전달되면 실행
  • 이전에 적용된 미들웨어 중 next에 인자를 넘기는 경우 중간 미들웨어들은 뛰어넘고 오류처리 미들웨어가 바로실행

어플리케이션 미들웨어

  • router 객체에 미들웨어가 적용되는것
  • 특정 경로의 라우팅에만 미들웨러를 적용하기 위한 방법
  • app 객체에 라우터가 적용된 이후로 순서대로 동작

함수형 미들웨어

  • 하나의 미들웨어를 작성하고, 작동 모드를 선택하면서 사용하고 싶은경우 
  • 동일한 로직에 설정값만 다르게 미들웨어
const auth = (memberType) => {
	return (req, res, next) => {
		if (!checkMember(req, memberType)) {
			next(new Error(`member is not ${memberType}`));
			return;
		}
			next();
	}
}
app.use('/admin', auth('admin'), adminRouter);
app.use('/users', auth('member'), userRouter);

 

Route Hander

  • Route Handler는 라우팅 함수(get/post/put/delete 등)에 적용된 미들웨어
  • 일반적인 미들웨어와는 다르게 path parameter를 사용가능

 

미들웨어 서브 스택

  • use나 http method 함수에 여러 개의 미들웨어를 동시에 적용
  • 주로 한 개의 경로에 특정해서 미들웨어를 적용하기 위해 사용
  • 전달된 인자의 순서 순으로 동작

REST API

  • REST 아키텍처를 준수하는 웹 API
  • REST API는 API의 동작을 HTTP method + 명사형 URL로 표현함
  • REST API는 URL을 통해 자원을 계층적으로 표현함

 

API 

Application Programming Interface

서비스나 프로그램 간에 미리 정해진 기능을 실행 할 수 있도록 하는 규약

 

REST

웹에서 자료를 전송하기 위한 표현 방법에 대한 아키텍처

 

JSON

  • JavaScript Object Nottion
  • 자바스크립트에서 객체를 표현하는 표현식으로 웹 API 데이터 전송할 때 표현식으로 주로 사용
  • 웹 API는 기본적으로 데이터를 문자열로 전송
  • 어떤 객체를 웹 API를 통해서 문자열로 전달하기 위해 JSON을 사용
  • 통신 오베헤드가 매우 작음
  • XML에 비해 더욱 적은 표현식을 사용하여 데이터를 효과적으로 표현

 

MVC패턴

Model

  • 데이터에 접근하는 기능 또는 데이터 그 자체를 의미
  • 테이터의 읽기,쓰기는 Model을 통해서만 이루어지도록 구성

View

  • View는 데이터를 표현하는 기능을 의미
  • 주로 Cotroller에 의해 테이터를 전달받고 전달받은 데이터를 화면에 표시해주는 기능을 담당

Controller

  • Model을 통해 데이터에 접근하여, 처리 결과를 View로 전달하는 기능을 의미
  • 웹 서비스에선 주로 라우팅 함수가 해당 기능을 수행

'Elice SW 2 > TIL' 카테고리의 다른 글

DAY 30 - TIL  (0) 2022.05.16
DAY 29 - TIL  (0) 2022.05.15
DAY 27 - TIL  (1) 2022.05.12
DAY 26 - TIL  (0) 2022.05.09
DAY 25 - TIL  (0) 2022.05.08

댓글