HTTP ๋ฉ์๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์ ์ฌ์ฉ์ ์์ฒญ์ ๋ชฉ์ ์ด๋ ์ข
๋ฅ๋ฅผ ์๋ฆฌ๋ ์๋จ
์ด๋ค. ์ต์ด์ HTTP์์๋ GET ๋ฉ์๋ ํ๋๋ฐ์ ์์์ง๋ง ์ดํ ๋ค์ผํญ ๋ฉ์๋๋ค์ด ์๊ฒจ๋ฌ๋ค.
HTTP ๋ฉ์๋์ ์ข ๋ฅ๋ ์ด 9๊ฐ์ง๊ฐ ์๋ค. ์ด ์ค ์ฃผ๋ก ์ฐ์ด๋ ๋ฉ์๋๋ 5๊ฐ์ง๊ฐ ์๋ค. ์ด์ ๊ฐ๊ฐ์ ์ด๋ฆ๊ณผ ํน์ง์ ๋ํด ์์๋ณด๋๋ก ํ์.
GET : ๋ณดํต ๋ฆฌ์์ค๋ฅผ ์กฐํํ ๋ ์ฌ์ฉํ๋ฉฐ, ์๋ฒ์ ์ ๋ฌํ๊ณ ์ถ์ ๋ฐ์ดํฐ๋ query๋ฅผ ํตํด์ ์ ๋ฌํ๋ค. ๋ฉ์์ง ๋ฐ๋๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์๋ ์์ง๋ง, ์ง์ํ์ง ์๋ ๊ณณ์ด ๋ง์์ ๊ถ์ฅํ์ง ์๋๋ค.
POST : ๋ฐ์ดํฐ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ , ๋ฉ์์ง ๋ฐ๋๋ฅผ ํตํด ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค. ์ฃผ๋ก ์ ๊ท ๋ฆฌ์์ค๋ฅผ ๋ฑ๋กํ๊ฑฐ๋ ํ๋ก์ธ์ค ์ฒ๋ฆฌ์ ์ฌ์ฉ๋๋ค.
PUT : ๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ๋์ฒดํ๊ณ ๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ์์ฑํ๋ค. ์ฝ๊ฒ ๋งํด ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ด์ด๋ค.
PATCH : PUT๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์์ค๋ฅผ ์์ ํ ๋ ์ฌ์ฉํ์ง๋ง, PATCH๋ ๋ฆฌ์์ค๋ฅผ ์ผ๋ถ๋ถ๋ง ๋ณ๊ฒฝํ ์ ์๋ค.
DELETE : ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ ๋ ์ฌ์ฉํ๋ค.
HTTP ๋ฉ์๋์ ์์ฑ์๋ ์์ (Safe Methods), ๋ฉฑ๋ฑ(Idempotent Methods), ์บ์๊ฐ๋ฅ(Cacheable Methods)๊ฐ ์๋ค.
์์ (Safe Methods)
๊ณ์ํด์ ๋ฉ์๋๋ฅผ ํธ์ถํด๋ ๋ฆฌ์์ค๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค๋ ๋ป์ด๋ค. ์ฃผ์ ๋ฉ์๋์ค์๋ GET ๋ฉ์๋๊ฐ ์์ ํ๋ค๊ณ ๋ณผ ์ ์๋ค.
๋ฉฑ๋ฑ (Idempotent Methods)
๋ฉ์๋๋ฅผ ๊ณ์ ํธ์ถํด๋ ๊ฒฐ๊ณผ๊ฐ ๋๊ฐ๋ค๋ ๋ป์ด๋ค. GET, PUT, DELETE๋ ๋ฉฑ๋ฑํ๋ค๊ณ ๋ณผ ์ ์์ง๋ง POST๋ PATCH๋ ๋ฉฑ๋ฑํ๋ค๊ณ ๋ณผ ์ ์๋ค.
์บ์๊ฐ๋ฅ (Cacheable Methods)
์บ์๊ฐ๋ฅํ๋ค๋ ๋ง์ ๋ง ๊ทธ๋๋ก ์บ์ฑ์ ํด์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ๋ป์ด๋ค. GET, HEAD, POST, PATCH๊ฐ ์บ์๊ฐ ๊ฐ๋ฅํ์ง๋ง ์ค์ ๋ก๋ GET๊ณผ HEAD๋ง ์ฃผ๋ก ์บ์ฑ์ด ์ฐ์ธ๋ค๊ณ ํ๋ค.