๐Ÿต 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`ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด์ง€๋งŒ, ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ์ด ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๊ฐ€์ ธ์˜ฌ ๋•Œ์™€ ์ˆ˜ํ–‰ํ•  ๋•Œ๋ฅผ ํŒŒ์•…ํ•ด์„œ ์ ํ•ฉํ•œ ๊ณณ์— ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค.