From 7b8e9d05736e55d9897006d4a9df591a864fe2e7 Mon Sep 17 00:00:00 2001 From: Park-seoyun Date: Thu, 13 Nov 2025 17:59:38 +0900 Subject: [PATCH] =?UTF-8?q?week7=20=EA=B3=BC=EC=A0=9C=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week07/keyword/keyword.md | 38 ++++++++++++++++++++++++++++++++++++++ week07/mission/mission.md | 1 + 2 files changed, 39 insertions(+) create mode 100644 week07/keyword/keyword.md create mode 100644 week07/mission/mission.md diff --git a/week07/keyword/keyword.md b/week07/keyword/keyword.md new file mode 100644 index 0000000..d5c019c --- /dev/null +++ b/week07/keyword/keyword.md @@ -0,0 +1,38 @@ +- 미들웨어 + + ### 정의 + + Express에서 미들웨어는 **HTTP 요청과 응답 사이에서 실행되는 함수**입니다. 요청 객체(`req`), 응답 객체(`res`), 그리고 다음 미들웨어를 호출하는 `next` 함수에 접근할 수 있습니다. + + ### 주요 속성 + + - **순차적 실행**: 등록된 순서대로 실행됨 + - **체이닝**: `next()`를 통해 다음 미들웨어로 제어권 전달 + - **전역/라우트별 적용**: `app.use()` 또는 특정 라우트에만 적용 가능 + - **요청/응답 수정 가능**: `req`, `res` 객체를 자유롭게 조작 가능 +- HTTP 상태 코드 + + ### 정의 + + HTTP 상태 코드는 **클라이언트의 요청에 대한 서버의 처리 결과를 나타내는 3자리 숫자 코드**입니다. 요청이 성공했는지, 실패했는지, 어떤 종류의 에러인지를 표준화된 방식으로 전달합니다. + + ### 주요 분류 + + - **1xx (정보)**: 요청을 받았으며 프로세스를 계속 진행 + - **2xx (성공)**: 요청을 성공적으로 처리 (200 OK, 201 Created) + - **3xx (리다이렉션)**: 요청 완료를 위해 추가 동작 필요 + - **4xx (클라이언트 에러)**: 잘못된 요청 (400, 401, 404, 409) + - **5xx (서버 에러)**: 서버가 요청 처리 실패 (500, 502, 503) +- 에러 핸들링(Error Handling) + + ### 정의 + + 에러 핸들링은 **프로그램 실행 중 발생하는 예외 상황을 적절히 포착하고 처리하는 방법**입니다. Express에서는 try-catch 블록과 전역 에러 미들웨어를 통해 체계적으로 에러를 관리합니다. + + ### 주요 구성 요소 + + - **try-catch**: 에러 포착 + - **throw**: 에러 발생시키기 + - **커스텀 Error 클래스**: 에러 타입별 구체화 + - **전역 에러 핸들러**: 모든 에러를 한 곳에서 처리 + - **에러 코드**: 에러를 식별하는 고유 코드 (U001, R001 등) \ No newline at end of file diff --git a/week07/mission/mission.md b/week07/mission/mission.md new file mode 100644 index 0000000..7d92cd3 --- /dev/null +++ b/week07/mission/mission.md @@ -0,0 +1 @@ +https://github.com/Park-seoyun/umc-workbook/tree/feature/chapter-07 \ No newline at end of file