๐ŸŒฑ HTTP Method!

sh_awtylol4ยท2022๋…„ 7์›” 13์ผ
0

๐ŸŒฑ Today I Learn

๋ชฉ๋ก ๋ณด๊ธฐ
8/16
post-thumbnail

๐Ÿค” HTTP Method?

HTTP ๋ฉ”์†Œ๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ์„œ๋ฒ„์— ์‚ฌ์šฉ์ž ์š”์ฒญ์˜ ๋ชฉ์ ์ด๋‚˜ ์ข…๋ฅ˜๋ฅผ ์•Œ๋ฆฌ๋Š” ์ˆ˜๋‹จ์ด๋‹ค. ์ตœ์ดˆ์˜ HTTP์—์„œ๋Š” GET ๋ฉ”์†Œ๋“œ ํ•˜๋‚˜๋ฐ–์— ์—†์—ˆ์ง€๋งŒ ์ดํ›„ ๋‹ค์•ผํ•ญ ๋ฉ”์†Œ๋“œ๋“ค์ด ์ƒ๊ฒจ๋‚ฌ๋‹ค.

๐Ÿ›  HTTP Method ์ข…๋ฅ˜์™€ ํŠน์ง•!

HTTP ๋ฉ”์†Œ๋“œ์˜ ์ข…๋ฅ˜๋Š” ์ด 9๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ด ์ค‘ ์ฃผ๋กœ ์“ฐ์ด๋Š” ๋ฉ”์†Œ๋“œ๋Š” 5๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ด์ œ ๊ฐ๊ฐ์˜ ์ด๋ฆ„๊ณผ ํŠน์ง•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

์ฃผ์š” Method 5๊ฐ€์ง€

  • GET : ๋ณดํ†ต ๋ฆฌ์†Œ์Šค๋ฅผ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋Š” query๋ฅผ ํ†ตํ•ด์„œ ์ „๋‹ฌํ•œ๋‹ค. ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ณณ์ด ๋งŽ์•„์„œ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • POST : ๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. ์ฃผ๋กœ ์‹ ๊ทœ ๋ฆฌ์†Œ์Šค๋ฅผ ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ๋œ๋‹ค.

  • PUT : ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ€์ฒดํ•˜๊ณ  ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†์œผ๋ฉด ์ƒ์„ฑํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฎ์–ด์“ด๋‹ค.

  • PATCH : PUT๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜์ง€๋งŒ, PATCH๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ผ๋ถ€๋ถ„๋งŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

  • DELETE : ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ• ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

๊ธฐํƒ€ Method 4๊ฐ€์ง€

  • HEAD : GET๊ณผ ๋™์ผํ•˜์ง€๋งŒ ๋ฉ”์‹œ์ง€ ๋ถ€๋ถ„์„ ์ œ์™ธํ•˜๊ณ , ์ƒํƒœ ์ค„๊ณผ ํ—ค๋”๋งŒ ๋ฐ˜ํ™˜
  • OPTIONS : ๋Œ€์ƒ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ํ†ต์‹  ๊ฐ€๋Šฅ ์˜ต์…˜์„ ์„ค๋ช… (์ฃผ๋กœ CORS์—์„œ ์‚ฌ์šฉ)
  • CONNECT : ๋Œ€์ƒ ์ž์›์œผ๋กœ ์‹๋ณ„๋˜๋Š” ์„œ๋ฒ„์— ๋Œ€ํ•œ ํ„ฐ๋„์„ ์„ค์ •
  • TRACE : ๋Œ€์ƒ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ๋ฉ”์‹œ์ง€ ๋ฃจํ”„๋ฐฑ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰

๐Ÿ’Ž HTTP ๋ฉ”์†Œ๋“œ์˜ ์†์„ฑ!

HTTP ๋ฉ”์†Œ๋“œ์˜ ์†์„ฑ์—๋Š” ์•ˆ์ „(Safe Methods), ๋ฉฑ๋“ฑ(Idempotent Methods), ์บ์‹œ๊ฐ€๋Šฅ(Cacheable Methods)๊ฐ€ ์žˆ๋‹ค.

  1. ์•ˆ์ „ (Safe Methods)
    ๊ณ„์†ํ•ด์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด๋„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ด๋‹ค. ์ฃผ์š” ๋ฉ”์†Œ๋“œ์ค‘์—๋Š” GET ๋ฉ”์†Œ๋“œ๊ฐ€ ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  2. ๋ฉฑ๋“ฑ (Idempotent Methods)
    ๋ฉ”์†Œ๋“œ๋ฅผ ๊ณ„์† ํ˜ธ์ถœํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋˜‘๊ฐ™๋‹ค๋Š” ๋œป์ด๋‹ค. GET, PUT, DELETE๋Š” ๋ฉฑ๋“ฑํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ POST๋‚˜ PATCH๋Š” ๋ฉฑ๋“ฑํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์—†๋‹ค.

  3. ์บ์‹œ๊ฐ€๋Šฅ (Cacheable Methods)
    ์บ์‹œ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋ง์€ ๋ง ๊ทธ๋Œ€๋กœ ์บ์‹ฑ์„ ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. GET, HEAD, POST, PATCH๊ฐ€ ์บ์‹œ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” GET๊ณผ HEAD๋งŒ ์ฃผ๋กœ ์บ์‹ฑ์ด ์“ฐ์ธ๋‹ค๊ณ  ํ•œ๋‹ค.

profile
ํฌ๊ธฐํ•˜๋Š” ๊ทธ ์ˆœ๊ฐ„์ด ๋ฐ”๋กœ ์‹œํ•ฉ์ข…๋ฃŒ์˜ˆ์š”...

0๊ฐœ์˜ ๋Œ“๊ธ€