๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL | TWIL

Next.js์˜ Middleware๊ฐ€ ๋ญ˜๊นŒ?

๐Ÿ’ก Middleware allows you to run code before a request is completed. Then, based on the incoming request, you can modify the response by rewriting, redirecting, modifying the request or response headers, or responding directly.

(์ถœ์ฒ˜: next ๊ณต์‹ ๋ฌธ์„œ)

์ฆ‰, ๋ฏธ๋“ค์›จ์–ด๋ž€ ์š”์ฒญ์ด ์™„๋ฃŒ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ.

๋‹ค์Œ ์š”์ฒญ์— ๋”ฐ๋ผ ์š”์ฒญ or ์‘๋‹ต ํ—ค๋”๋„ ์ˆ˜์ •์ด๋‚˜ ์‘๋‹ต ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

NextReseponse API๋ฅผ ํ†ตํ•ด ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…๋“ค

  • redirect/rewrite ์ž‘์—…
    • redirect: ๋‹ค๋ฅธ url๋กœ ์ด๋™
    • rewrite: ์ฃผ์–ด์ง„ url์— ๋Œ€ํ•ด response ๋ณ€๊ฒฝ
  • cookie get/set ํ›„ ๊ฐ€๊ณตํ•˜๋Š” ์ž‘์—…
  • header response ์„ค์ •

Next์˜ middleware๋ฅผ ํ†ตํ•ด ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…๋“ค

  • ์ธ์ฆ ๊ด€๋ จ ์ž‘์—…
    1. ๋ฏธ๋“ค์›จ์–ด๋ฅผ ํ†ตํ•ด ์ธ์ฆ ์ƒํƒœ ํ™•์ธ
    2. ๋ฏธ ๋กœ๊ทธ์ธ ์ƒํƒœ ์‹œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜
  • ๋ผ์šฐํŒ… ๋ณดํ˜ธ
    • ํŠน์ • ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ๋งŒ ํ—ˆ์šฉ๋˜๋Š” ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์ œํ•œ
  • API ์š”์ฒญ ์ „์ฒ˜๋ฆฌ
    • ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต
    • ํ—ค๋” ์ถ”๊ฐ€ ๋˜๋Š” ์ˆ˜์ •
  • ๋กœ๊น…๊ณผ ๋ถ„์„
    • ์š”์ฒญ / ์‘๋‹ต์„ ๋กœ๊น… ๋ฐ ๋ถ„์„
    • ์ด๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž ํ™œ๋™ ์ถ”์  ๋ฐ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
  • ์บ์‹œ ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”
    • DB ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์บ์‹ฑ