EIF 3: ERR_HTTP_HEADERS_SENT


์›๋ž˜ ํŒ€ Github์—๋งŒ Error Log๋ฅผ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ์ •๋ฆฌํ•œ ๋•๋ถ„์— ๋‚˜์ค‘์— ๊ฐ™์€ ์—๋Ÿฌ๋ฅผ ๋‹ค์‹œ ๋งŒ๋‚ฌ์„ ๋•Œ ๋นจ๋ฆฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‘์„ธ ๋ฒˆ ์ด์ƒ ์ •๋„ ๋งŒ๋‚ฌ๋˜ ์—๋Ÿฌ๋Š” ์•ž์œผ๋กœ๋„ ๊ณ„์† ์ž์ฃผ ๋งŒ๋‚  ๊ฒƒ ๊ฐ™์•„ ๋ธ”๋กœ๊ทธ์—๋„ ๋”ฐ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค :)

์ƒํ™ฉ

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

 

์›์ธ

  1. ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋‘ ๊ฐœ ์ด์ƒ์˜ response๋ฅผ ์ „๋‹ฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. ์ฝ”๋“œ์—์„œ returnํ•ด์ฃผ๋Š” res๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์–ด๋””์„œ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ๋” ์•Œ์•„๋ณด๋‹ˆ status์™€ sendStatus์˜ ์ฐจ์ด ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    • status(): HTTP์˜ ์ƒํƒœ๋งŒ ์ •ํ•ด์ฃผ๋Š” Method์ž…๋‹ˆ๋‹ค.
    • sendStatus(): ์ƒํƒœ๋ฅผ ์ •ํ•ด์ฃผ๊ณ  'ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด๋Š”' Method์ž…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ๋ฐฉ์•ˆ

sendStatus์—์„œ status๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
Before: return res.sendStatus(200)).json({ message: "Success" });
After: return res.status(200).json({ message: "Success" });

๋ ˆํผ๋Ÿฐ์Šค

ERR_HTTP_HADERS_SENT
status์™€ sendStatus์˜ ์ฐจ์ด