[WEB] PRG ํจํด
PRG (POST-Redirect-GET) ํจํด์ด๋?
PRG ํจํด์ ์น ๊ฐ๋ฐ ์์ ๊ถ์ฅ๋๋ ๋์์ธ ํจํด ์ค ํ๋๋ก, HTTP POST ์์ฒญ์ ๋ํ ์๋ต์ด ๋ ๋ค๋ฅธ URL๋ก์ GET ์์ฒญ์ ์ํ ๋ฆฌ๋ค์ด๋ ํธ(์๋ต ์ฝ๋๊ฐ 3xx)์ฌ์ผ ํ๋ค๋ ๊ฒ์ ์๋งํ๋ค. ์ฆ, ์ผ๋ฐ์ ์ธ HTTP GET ์์ฒญ์ฒ๋ผ HTTP POST ์์ฒญ์ ๋ํ ์๋ต์ด ์ด๋ ํ ํ์ด์ง๋ฅผ ์ง์ ๋ฐํํ๋ ๊ฒ์ ๊ถ์ฅ๋์ง ์๋ ์ํํ ๋ฐฉ์์ด๋ผ๋ ๊ฒ์ด๋ค.
PRG ํจํด์ ํ์์ฑ
PRG ํจํด์ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด, ๋ํ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๋๊ฐ์ง ๋ฌธ์ ์ ์ด ๋ฐ์ํ ์ ์๋ค.
์๋ก๊ณ ์นจ์ผ๋ก ์ธํด ๋์ผํ HTTP POST ์์ฒญ์ด ์ค๋ณต์ผ๋ก ๋ฐ์ํ์ฌ ์๋์น ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ ์ ์๋ค.
๋ง์ฝ HTTP POST ์์ฒญ์ ๋ํ ์๋ต์ด ๋จ์ํ ์ด๋ ํ ํ์ด์ง๋ฅผ ์ง์ ๋ฐํํ๋ ๊ฒ์ด๋ผ๋ฉด, ์ดํ ์๋ก๊ณ ์นจ์ ์๋ํ์ ๋ ๋ฐฉ๊ธ ์ HTTP POST ์์ฒญ์ด ๊ทธ๋๋ก ๋ค์ ์๋ฒ์ ์ ์ก๋๋ค. ์ด๋ ์๋์น ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ ์ ์๋ค. ์๋ฅผ ๋ค์ด, ์จ๋ผ์ธ ๋ฌผํ ๊ตฌ๋งค ํ ์๋ก๊ณ ์นจ์ ํ๋ฉด ์ค๋ณต ๊ตฌ๋งค๊ฐ ์ด๋ค์ง ์ ์๋ค.
HTTP POST ์์ฒญ์ ๊ฒฐ๊ณผ์ ํด๋นํ๋ ํ์ด์ง๋ฅผ ๋ถ๋งํฌํ๊ฑฐ๋ ๋ค๋ฅธ ฦ์ฌ๋๊ณผ ๊ณต์ ํ๋ ๊ฒ์ด ์ด๋ ค์์ง๋ค.
๋ถ๋งํฌ(์ฆ๊ฒจ์ฐพ๊ธฐ)๋ ํน์ HTTP ์์ฒญ์ URL๋ง์ ์ ์ฅํ๊ณ , ๋ค๋ฅธ ์ฌ๋์๊ฒ ํด๋น ํ์ด์ง๋ฅผ ๊ณต์ ํ ๋๋ ์ค๋ก์ง URL๋ง์ ๊ณต์ ํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ์๋ URL๋ง ๊ฐ์ง๊ณ ๋ HTTP GET ์์ฒญ๋ฐ์ ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ ์๋์ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ ๋ง์ฝ PRG ํจํด์ ๋ฐ๋ฅธ๋ค๋ฉด HTTP POST ์์ฒญ์ ๋ํ ์๋ต์ ๋ฐ์ ๋ง์ ๋ค์ ํน์ URL๋ก์ HTTP GET ์์ฒญ์ ์ ์กํ๊ธฐ ๋๋ฌธ์, ํด๋น URL์ ๋ถ๋งํฌํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ง๋ค.
โฌ๏ธ PRG ํจํด์ ์ฌ์ฉํ์ง ์์ ๋
โฌ PRG ํจํด์ ์ฌ์ฉํ ๋(๊ถ์ฅ)
์ฐธ๊ณ
- https://it-eldorado.tistory.com/68"https://it-eldorado.tistory.com/68>
- https://en.wikipedia.org/wiki/Post/Redirect/Get"https://en.wikipedia.org/wiki/Post/Redirect/Get>