thymeleaf

    PRG Post/Redirect/Get

    PRG Post/Redirect/Get

    ๋„์ž… ๋ฌผ๊ฑด์„ ์ฃผ๋ฌธํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ํšŒ์›์„ ๋“ฑ๋กํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ HTTP์˜ Post ๋ฉ”์†Œ๋“œ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ๋•Œ, Post๋กœ ์ƒํ’ˆ์„ ์ฃผ๋ฌธํ•˜๋„๋ก ํ•˜๊ณ , ์›นํŽ˜์ด์ง€๋ฅผ ๋ฐ”๋กœ ๋žœ๋”๋งํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋งค์šฐ ๋”์ฐํ•œ ์ผ์ด ๋ฒŒ์–ด์ง„๋‹ค. ์™œ๋ƒ๋ฉด ์ตœ์ข…์ ์ธ HTTP๊ฐ€ Post์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฐ์ œ ํ›„ ๋žœ๋”๋ง๋œ ํŽ˜์ด์ง€์—์„œ ์ƒˆ๋กœ๊ณ ์นจ์„ ๋ˆ„๋ฅด๋ฉด ์ค‘๋ณตํ•ด์„œ ๊ฒฐ์ œ๊ฐ€ ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. Post - Redirect - Get PRG๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ด์œ ๋Š” ๋„์ž…๋ถ€๋ถ„์—์„œ ๋งค์šฐ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…์ด ๋˜์–ด์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ form tag์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ฃผ๋ฌธ์„ ํ•˜๋ฉด Post๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„˜์–ด์™€ ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๊ฒฝ์šฐ ์ตœ์ข…์ ์ธ HTTP์ž…๋ ฅ์ด Post์ด๋ฏ€๋กœ ์ƒˆ๋กœ๊ณ ์นจ์‹œ ๊ณ„์†ํ•ด์„œ Post๊ฐ€ ์‹คํ–‰๋˜๋Š”..

    Server Side Rendering (Thymeleaf)

    Server Side Rendering (Thymeleaf)

    ๋„์ž… ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›นํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์„ SSR์ด๋ผ๊ณ  ํ•œ๋‹ค. SSR์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ ๊ธฐ์ˆ  ์ค‘ ๋„ค์ธ„๋Ÿด ํ…œํ”Œ๋ฆฟ์ธ Thymeleaf๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. SSR(Server-Side Rendering) ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์€ ์›นํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ SSR์ด๋ผ๊ณ  ํ•œ๋‹ค. ์„œ๋ฒ„๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›นํŽ˜์ด์ง€๋ฅผ ๋žœ๋”๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์— CSR(Client-Side Rendering) ๋ณด๋‹ค๋Š” ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ๋ณด๋‹ค ๋Š๋ฆฌ์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์›นํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ ๋ฅผ ๋ชจ๋‘ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ๋ฉด์—์„œ๋Š” ๋” ๋น ๋ฅด๋‹ค. Thymeleaf SSR์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ Thymeleaf๊ฐ€ ์žˆ๋‹ค. ์ด ๊ธฐ์ˆ ์˜ ํŠน์ง•์€ ๋„ค์ธ„๋Ÿด ํ…œํ”Œ๋ฆฟ ์ด๋ผ๋Š” ์ ์ด๋‹ค. Html์˜ tag์•ˆ์— ๋™์ ์œผ๋กœ ์„œ๋ฒ„์—์„œ ์ฒ˜..