Skip to content

Commit

Permalink
i18n(ko-KR): update middleware.mdx (#7350)
Browse files Browse the repository at this point in the history
* i18n(ko-KR): update `middleware.mdx`

* docs: fix typo

---------

Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com>
Co-authored-by: Paul Valladares <85648028+dreyfus92@users.noreply.github.com>
  • Loading branch information
3 people authored Mar 15, 2024
1 parent 562ff81 commit 8da16d2
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions src/content/docs/ko/guides/middleware.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,9 @@ i18nReady: true
---
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';

**미들웨어**를 사용하면 페이지나 엔드포인트가 렌더링될 때마다 요청과 응답을 가로채고 동작을 동적으로 추가할 수 있습니다.
**미들웨어**를 사용하면 페이지나 엔드포인트가 렌더링될 때마다 요청과 응답을 가로채고 동작을 동적으로 추가할 수 있습니다. 이 렌더링은 사전 렌더링된 모든 페이지에 대해서는 빌드 시 발생하지만 요청 시 렌더링되는 페이지에 대해서는 경로가 요청될 때 발생합니다.

또한 이를 통해 모든 Astro 컴포넌트 및 API 엔드포인트에서 사용할 수 있는 `locals` 객체를 변경하여 엔드포인트와 페이지 전반에 걸쳐 요청별 정보를 설정하고 공유할 수 있습니다.

미들웨어는 SSG 및 SSR Astro 프로젝트 모두에서 사용할 수 있습니다.

:::note
미들웨어는 사전 렌더링된 모든 페이지에서 **빌드 프로세스** 중에만 실행되어 정적 페이지를 생성하며 배포된 웹 사이트에서는 실행되지 않습니다. 이는 `static` (SSG) 프로젝트의 모든 페이지에 적용됩니다. 여기에는 `hybrid` 모드 (기본값)의 사전 렌더링된 페이지와 `export const prerender = true`가 포함된 `server` 모드의 모든 페이지도 포함됩니다.

`server` (기본값) 또는 `export const prerender = false`가 포함된 `hybrid` 모드의 주문형 렌더링 페이지의 경우 경로가 요청되면 배포된 웹 사이트에서 미들웨어가 실행됩니다.
:::
또한 미들웨어를 사용하면 모든 Astro 컴포넌트 및 API 엔드포인트에서 사용할 수 있는 `locals` 객체를 변경하여 엔드포인트와 페이지 전반에 걸쳐 요청별 정보를 설정하고 공유할 수 있습니다. 이 객체는 빌드 시 이 미들웨어가 실행되는 경우에도 사용할 수 있습니다.

## 사용 방법

Expand Down Expand Up @@ -98,7 +90,7 @@ const orders = Array.from(Astro.locals.orders.entries());
`locals` 값은 런타임에 재정의될 수 없습니다. 그렇게 하면 사용자가 저장한 모든 정보가 지워질 위험이 있기 때문입니다. `dev` 모드에서 Astro는 검사를 수행하고, `locals`가 재정의되면 오류를 발생시킵니다.
:::

### 예: 민감한 정보 수정
## 예: 민감한 정보 수정

아래 예에서는 페이지에서 수정된 HTML을 렌더링할 수 있도록 미들웨어를 사용하여 "비밀 정보"라는 단어를 "수정됨"으로 대체합니다.

Expand Down Expand Up @@ -199,4 +191,10 @@ greeting 요청
greeting 응답
auth 응답
validation 응답
```
```

## 오류 페이지

미들웨어는 일치하는 경로를 찾을 수 없는 경우에도 주문형 렌더링된 모든 페이지에 대해 실행을 시도합니다. 여기에는 Astro의 기본 (비어있는) 404 페이지와 사용자 정의 404 페이지가 포함됩니다. 그러나 해당 코드의 실행 여부는 [어댑터](/ko/guides/server-side-rendering/)에 따라 결정됩니다. 일부 어댑터는 플랫폼별 오류 페이지를 대신 제공할 수 있습니다.

또한 미들웨어 자체 실행 중에 서버 오류가 발생하지 않는 한, 미들웨어는 사용자 정의 500 페이지를 포함하여 500 오류 페이지를 제공하기 전에 실행을 시도합니다. 미들웨어가 성공적으로 실행되지 않으면 500 페이지를 렌더링하기 위해 `Astro.locals`에 액세스할 수 없습니다.

0 comments on commit 8da16d2

Please sign in to comment.