express 오류 처리 미들웨어 (tistory.com)
미들웨어란 무엇인가? - 미들웨어 설명 - AWS (amazon.com)
[Node.js] 6-3. 미들웨어, 에러 처리 미들웨어 (tistory.com)
참조했습니다
미들웨어 전체 설명 내용
미들웨어란 무엇인가요?
미들웨어는 서로 다른 애플리케이션이 서로 통신하는 데 사용되는 소프트웨어입니다. 미들웨어는 더욱 빠르게 혁신할 수 있도록 애플리케이션을 지능적이고 효율적으로 연결하는 기능을 제공합니다. 미들웨어는 단일 시스템에 원활하게 통합할 수 있도록 다양한 기술, 도구, 데이터베이스 간에 다리 역할을 합니다. 그런 다음 이 단일 시스템은 사용자에게 통합된 서비스를 제공합니다. 예를 들어 Windows 프런트엔드 애플리케이션은 Linux 백엔드 서버에서 데이터를 송수신하지만, 애플리케이션 사용자는 그 차이를 인식하지 못합니다.
미들웨어가 중요한 이유는 무엇인가요?
미들웨어 아키텍처란 무엇인가요?
미들웨어 소프트웨어 아키텍처는 통신을 통해 데이터 파이프라인을 생성하는 여러 개의 구성 요소로 이뤄져 있습니다. 데이터는 미들웨어를 통해 하나의 연결된 애플리케이션에서 다른 애플리케이션으로 이동합니다. 미들웨어는 호환성을 위해 데이터를 처리합니다. 미들웨어 소프트웨어의 공통 구성 요소는 다음과 같습니다.
관리 콘솔
관리 콘솔은 소프트웨어 개발자에게 미들웨어 시스템의 활동, 소프트웨어 규칙 및 구성에 대한 개요를 제공합니다.
클라이언트 인터페이스
클라이언트 인터페이스는 애플리케이션과 통신하는 미들웨어 소프트웨어에서 외부에 표시되는 부분입니다. 개발자는 클라이언트 인터페이스가 제공하는 기능을 사용하여 다른 애플리케이션, 데이터베이스 또는 다른 마이크로서비스와 상호 작용합니다.
미들웨어 내부 인터페이스
미들웨어 내부 인터페이스는 여러 구성 요소를 하나로 묶는 소프트웨어 연결 역할을 합니다. 미들웨어 구성 요소는 내부 인터페이스를 사용하여 자체 프로토콜과 결속되어 기능합니다.
플랫폼 인터페이스
이 미들웨어 인터페이스는 미들웨어 프로그램이 다양한 플랫폼과 호환되는지 확인합니다. 여기에는 서로 다른 유형의 운영 체제와 함께 작동하는 소프트웨어 구성 요소가 포함됩니다.
계약 관리자
계약 관리자는 미들웨어 시스템에서 데이터 교환 규칙을 정의합니다. 또한 애플리케이션이 미들웨어를 통해 데이터를 전송할 때 규칙을 준수하는지 확인합니다. 특정 규칙을 위반하는 경우 알림 또는 예외를 애플리케이션에 전송합니다. 예를 들어 계약 관리자는 단어가 예상되는 상황에서 애플리케이션이 숫자를 전송하는 경우 예외를 반환하게 됩니다.
세션 관리자
세션 관리자는 애플리케이션 및 미들웨어 사이에 안전한 통신 채널을 설정합니다. 또한 통신 흐름이 원활한지 확인하고 보고를 위해 데이터 활동 레코드를 저장합니다.
데이터베이스 관리자
미들웨어의 일부 유형에는 데이터베이스 관리자도 포함됩니다. 데이터베이스 관리자는 필요에 따라 서로 다른 데이터베이스 유형과의 통합을 담당합니다.
런타임 모니터
런타임 모니터는 미들웨어에서의 데이터 이동을 지속적으로 모니터링합니다. 또한 비정상적인 활동을 감지하여 개발자에게 보고합니다.
에러처리 미들웨어[Node.js] 6-3. 미들웨어, 에러 처리 미들웨어 (tistory.com)
app.use((req, res, next) => {
console.log("모든 요청에서 실행");
next();
})
이 코드 에서는
(req, res, next) => { console.log("모든 요청에서 실행"); next(); } 이 부분이 미들웨어다
app.use에 매개변수가 req, res, next인 함수를 넣으면 됩니다. 미들웨어는 위에서부터 아래로 순서대로 실행되면서 요청과 응답 사이에 특별한 기능을 추가할 수 있습니다.
app.use에 매개변수가 req, res, next인 함수를 넣으면 됩니다. 미들웨어는 위에서부터 아래로 순서대로 실행되면서 요청과 응답 사이에 특별한 기능을 추가할 수 있습니다.
next라는 세번째 매개변수는 다음 미들웨어로 넘어가는 함수입니다. next를 실행하지 않으면 다음 미들웨어가 실행되지 않습니다.
주소를 첫 번째 인수로 넣어주지 않는다면 미들웨어는 모든 요청에서 실행되고, 주소를 넣는다면, 해당하는 요청에서만 실행됩니다.
'/'이런거 조심해서 넣으라는 소리
오류처리 미들웨어는 맨 마지막에 둬야 합니다.
그 이유는 만약 app.get 앞에 있으면 path로 해당 미들웨어에 접근하기 전에 에러 처리 미들웨어가 작동하기 때문입니다.
next() 함수가 들어가는 이유는 next함수를 통해 어떤 내용을 전달하는 경우, express는 현재의 요청에 오류가 있는 것으로 간주하며, 오류처리와 관련되지 않은 나머지 라우팅, 미들웨어 함수를 지나칩니다.
그런 즉 위에서 아래로 실행되는게 코드인 만큼 맨 밑에 넣어야 머리가 덜 아픔
'내배캠 TIL WIL > 내배캠 til' 카테고리의 다른 글
| 내배캠 til 54일차 typescript 3편 (0) | 2023.01.31 |
|---|---|
| 내배캠 til 53일차 typescript 2편 (0) | 2023.01.31 |
| 내배캠 til 51일차 redis 입문 (0) | 2023.01.27 |
| 내배캠 til 50일차 clearcookie 에러 (0) | 2023.01.25 |
| 내배캠 til 50일차 타입스크립트 개요 (0) | 2023.01.25 |