๐ต GET, POST Method
๐ต GET, POST Method
HTTP Method
์น์์์ ํด๋ผ์ด์ธํธ๊ฐ ํ๋กํ ์ฝ์ ํตํด ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญ(Request)ํ๋ฉด ์๋ฒ๋ ์ด๋ฅผ ์ฒ๋ฆฌํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์ ์๋ต(Response)ํด์ฃผ๋๋ฐ ์ด๋, ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์์ฒญํ๋ ๋ฐฉ๋ฒ์ `HTTP Method`๋ผ๊ณ ํ๋ค. `HTTP Method`์๋ 8๊ฐ์ง์ ์ข
๋ฅ ์ค ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ GET์ POST ๋ฐฉ์์ ์๊ฐํ๊ณ ์ ํ๋ค.
GET
> `GET` ๋ฐฉ์์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ด๋ค ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ ๊ฒ์ด๋ค.
- `GET`์ HTML ํ์ด์ง๋ฅผ ์์ฒญํ๊ฑฐ๋ ์ด๋ค API๋ฅผ ํตํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ค์ด๊ฑฐ๋, ์ด๋ฏธ์ง๋ฅผ ๋ก๋ฉํ๊ธฐ ์ํ์ฌ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฉ์๋์ด๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์ญํ ๋ง ์ํํ๋ค.
- QueryString์ ํ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉฐ, ๋ณด์์ ์์ฃผ ์ทจ์ฝํ๋ค.
- ๋ํ์ ์ธ ํน์ง์ผ๋ก URL์ ํ๋ผ๋ฏธํฐ(Parameter)๋ฅผ ๋ถ์ฌ์ ์ ์กํ๊ธฐ ๋๋ฌธ์ body ์์ญ์ ์ฌ์ฉํ์ง ์๋๋ค.
- URL ๋ค์ `?`๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ผ๋ฏธํฐ๋ฅผ ์์ฑํ๊ฒ ๋๊ณ `&`๋ฅผ ๋ถ์ฌ ์ฌ๋ฌ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ตฌ๋ถํ๊ฒ ๋๋ค.
- ํ๋ฒ ์์ฒญ ์ URL ํฌํจ 255์๊น์ง ์ ์ก์ด ๊ฐ๋ฅํ๊ณ , HTTP/1.1์์๋ 2048์๊น์ง ๊ฐ๋ฅํ๋ค.
POST
> `POST` ๋ฐฉ์์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ , ์๋ฒ๊ฐ ์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ฒ์ด๋ค.
- `POST`๋ ์์ฑ ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ํ๊ธฐ ์ํด ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ฆ, ์๋ฒ์ ๋ด๊ฐ ์์ฒญํ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ๋ก ์์ ํ๊ธฐ ์ํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋๋ค.
- ๋ฉ์์ง๋ฅผ ์ ์กํ๊ฑฐ๋, ์ ๊ท ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ํด๋ผ์ด์ธํธ์ ์ ๋ ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฒ ์ธก์์ ์คํํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ค.
- ๋ํ์ ์ธ ํน์ง์ผ๋ก `GET`๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ body ์์ญ์ ๋ฐ์ดํฐ๋ฅผ ์ค์ด ๋ณด๋ด ๋ณด์์ด ํ์ํ ๋ถ๋ถ์ ์์ฃผ ์ฌ์ฉ๋๋ค. - body์ ๋ฐ์ดํฐ๋ฅผ ์ค์ด ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ ์ก์์๋ ๊ธธ์ด ์ ํ์ด ์์ด ์ฉ๋์ด ํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋๋ฐ ์ ํฉํ๋ค.
GET๊ณผ POST์ ์ฐจ์ด์
1. ์ฌ์ฉ์ฉ๋
- `GET`์ ์ฌ์ฉ์์๊ฒ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์ญํ ์ ํ๊ณ , `POST`๋ ์ฌ์ฉ์์ ์ด๋ค ํ๋์ ์๋ฒ์ ๋ฐ์ํ๋ ์ญํ ์ ํ๋ค. - DB๋ก ์์๋ฅผ ๋ค๋ฉด,`GET`์ SELECT์ ๊ฐ๊น๊ณ ,`POST`๋ CREATE์ ๊ฐ๊น๋ค๊ณ ๋ณผ ์ ์๋ค.
2. ์บ์ฑ
- `GET`์ ํ๋ผ๋ฏธํฐ๋ค์ URL์ ์ผ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ๋ธ๋ผ์ฐ์ ํ์คํ ๋ฆฌ์ ๋จ๊ฒ๋๊ณ , `POST`๋ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ก์ด ๋จ์ง ์๋๋ค. - `GET`์ URL๋ก ์ธ์ฝ๋ฉ๋์ด ์ฆ๊ฒจ์ฐพ๊ธฐ๊ฐ ๊ฐ๋ฅํ๊ณ , `POST`๋ ์ฆ๊ฒจ์ฐพ๊ธฐ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.
3. ๋ณด์
- `GET`์ URL์ ํตํด ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์ ์ฃผ์์ฐฝ์ ์ ๋ฌ ๊ฐ์ด ๋ ธ์ถ๋์ด ๋ณด์์ ์ทจ์ฝํ๊ณ , `POST`๋ ๋ฐ์ดํฐ๊ฐ ๋ ธ์ถ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ด ํ์ํ ๊ฒฝ์ฐ์ ์ฉ์ดํ๋ค.
4. ๋ฐ์ดํฐ์
- `GET`์ URL ๊ธธ์ด๊ฐ ์ ํ์ด ์์ด ์ ์ก ๋ฐ์ดํฐ์์ด ํ์ ๋์ด ์๊ณ , `POST`๋ ์ ์ก ๋ฐ์ดํฐ์ ์ ํ์ด ์๋ค.
5. ๋ณด์
- `GET`์ URL ๊ธธ์ด๊ฐ ์ ํ์ด ์์ด ์ ์ก ๋ฐ์ดํฐ์์ด ํ์ ๋์ด ์๊ณ , `POST`๋ ์ ์ก ๋ฐ์ดํฐ์ ์ ํ์ด ์๋ค.
๋์ ์๊ฒฌ
`GET`๊ณผ `POST`๋ ๋ ๋ค HTTP ํ๋กํ ์ฝ์ ์ด์ฉํด ์๋ฒ์ ๋ฌด์ธ๊ฐ `request`ํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ์์ด์ง๋ง, ์ฌ์ฉํ๋ ์ํฉ์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์ฆ, ๊ฐ์ ธ์ฌ ๋์ ์ํํ ๋๋ฅผ ํ์ ํด์ ์ ํฉํ ๊ณณ์ ํ์ฉํด์ผ ํ๋ค.