HTTP Method

2020. 5. 14. 14:14ยท๐Ÿ“ Computer Science/โœ Network & Web

HTTP Method

์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด URL์„ ์ฃผ์†Œ์ฐฝ์— ์ž‘์„ฑํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํŽ˜์ด์ง€๋กœ ์ด๋™๋œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋‹จ์ˆœํžˆ URL(Uniform Resource Locator)๋ฅผ ์ž…๋ ฅํ•˜์˜€์„ ๋ฟ์ด์ง€๋งŒ ์„œ๋ฒ„ ๋‚ด๋ถ€์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์‘๋‹ตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ HTTP Method๋ผ ํ•œ๋‹ค. ์ฆ‰, HTTP ํด๋ผ์ด์–ธํŠธ๊ฐ€ HTTP ์„œ๋ฒ„์—๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•˜๋ฉด์„œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์„œ๋ฒ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ์ง€ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ์ „๋‹ฌํ•˜๋Š” ๋ช…๋ น์ด๋‹ค. HTTP ์š”์ฒญ(Request) ๋ฉ”์‹œ์ง€์— ํฌํ•จ๋˜์–ด ์ „์†ก๋œ๋‹ค.

 

HTTP Method

 

  • Safe Method(์•ˆ์ „): ๋ฆฌ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋งํ•œ๋‹ค.
    • ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ Idempotent ํ•˜๋ฉด Safe ํ•˜๋‹ค.
    • DELETE๋Š” Idempotent ํ•˜์ง€๋งŒ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฏ€๋กœ Safe ํ•˜์ง€ ์•Š๋‹ค.
  • Idempotent Method(๋ฉฑ๋“ฑ): ์–ด๋–ค ์—ฐ์‚ฐ์„ ๋ช‡ ๋ฒˆ์ด๊ณ  ๋ฐ˜๋ณตํ•ด๋„ ๊ฐ™์€ ๊ฐ’์ด ๋‚˜์˜ค๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋งํ•œ๋‹ค.
  • Cachable Method(์บ์‹œ ๊ฐ€๋Šฅ): ํ–ฅํ›„ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด ์ด์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋งํ•œ๋‹ค.
    • HTTP์—์„œ ์ด๋ค„์ง€๋Š” ์บ์‹ฑ์€ ์ •๋ณด์— ๋Œ€ํ•ด ์ด๋ค„์ง„๋‹ค.
    • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ณด๋ฅผ ๋Œ๋ ค์ฃผ๋Š” ์—ฐ์‚ฐ์—๋งŒ ์บ์‹ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. GET

์„œ๋ฒ„์—๊ฒŒ ์–ด๋– ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜์—ฌ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

  • URL์— ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ์‹œ์ผœ ์š”์ฒญํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ Header(ํ—ค๋”)์— ํฌํ•จํ•˜์—ฌ ์ „์†กํ•œ๋‹ค.
  • URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์–ด ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค.
  • ๊ธธ์ด ์ œํ•œ์ด ์žˆ๋‹ค.
  • ์บ์‹ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

GET ๋ฐฉ์‹์€ ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ๋ฅผ URL์— ๋„ฃ๋„๋ก ์„ค๊ณ„๋œ ๋ฐฉ์‹์ด๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์–‘์— ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. HTTP ์ž์ฒด๋Š” GET ๋ฐฉ์‹์˜ URL ๊ธธ์ด์— ์ œ์•ฝ์„ ๋‘๊ณ  ์žˆ์ง€ ์•Š์ง€๋งŒ, ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ์ œํ•œํ•˜๊ณ  ์žˆ์œผ๋ฉฐ URLํ˜•์‹์— ๋งž์ง€ ์•Š๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„์ด๋‚˜ ๊ฐ’์€ ์ธ์ฝ”๋”ฉ ๋˜์–ด ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŠน๋ณ„ํžˆ ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฏ€๋กœ Body๋Š” ๋ณดํ†ต ๋นˆ ์ƒํƒœ๋กœ ์ „์†ก๋œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด ์–ด๋–ค ํŽ˜์ด์ง€์—์„œ ๋กœ๊ทธ์ธ์„ ํ•˜๊ธฐ ์œ„ํ•ด ID์™€ PW๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ, GET ๋ฐฉ์‹์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ? ๋งˆํฌ๋ฅผ ํ†ตํ•ด URL์˜ ๋์„ ์•Œ๋ฆฌ๊ณ , id๋ผ๋Š” ํ‚ค(key)์— ๋Œ€ํ•ด์„  coco๋ผ๋Š” ๊ฐ’(value)์„, pw๋ผ๋Š” ํ‚ค(key)์— tistory๋ผ๋Š” ๊ฐ’(value)์„ ์ „์†กํ•œ๋‹ค. ์ด ๋ถ€๋ถ„์„ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง(query string)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

www.dev-coco.tistory.com/login?id=coco&pw=tistory

 
์—ฌ๋Ÿฌ๊ฐœ์˜ Key์™€ Value๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ์— &๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด์–ด์ฃผ๋Š” GET ๋ฐฉ์‹์€ ์ตœ์†Œํ•œ์˜ ๋ณด์•ˆ์œ ์ง€๋„ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ์›น์‚ฌ์ดํŠธ์—์„œ ID์™€ PW ๊ฐ™์€ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ GET ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๋…ธ์ถœ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋ž˜์„œ GET ๋ฐฉ์‹์€ ๊ฐœ์ธ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์—์„œ ์บ์‹ฑ์„ ํ•˜์—ฌ ์†๋„๋ฅผ ๋†’์ด๊ฑฐ๋‚˜ ์ฆ๊ฒจ์ฐพ๊ธฐ๋ฅผ ํŽธ๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

 

2. HEAD

GET์ฒ˜๋Ÿผ ํ–‰๋™ํ•˜์ง€๋งŒ, ์„œ๋ฒ„์—๊ฒŒ Response-Body ์—†์ด Header๋งŒ ์–ป๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

  • ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์•„๋„ ๋ฌด์—‡์ธ๊ฐ€(ํƒ€์ž… ๋“ฑ)๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๊ฐœ์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3. POST

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

  • URL์— ๋ฐ์ดํ„ฐ๋ฅผ ๋…ธ์ถœํ•˜์ง€ ์•Š๊ณ  ์š”์ฒญํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ Body(๋ฐ”๋””)์— ํฌํ•จํ•˜์—ฌ ์ „์†กํ•œ๋‹ค.
  • URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š์•„ ๊ธฐ๋ณธ ๋ณด์•ˆ์ด ๋˜์–ด์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๊ธธ์ด์— ์ œํ•œ์ด ์—†๋‹ค.
  • ์บ์‹ฑํ•  ์ˆ˜ ์—†๋‹ค.

 

 POST ๋ฐฉ์‹์€ BODY์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ์ „์†กํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฉ”์‹œ์ง€ ๊ธธ์ด์˜ ์ œํ•œ์€ ์—†์ง€๋งŒ ์ตœ๋Œ€ ์š”์ฒญ์„ ๋ฐ›๋Š” ์‹œ๊ฐ„์ธ Time Out์ด ์กด์žฌํ•˜๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ์—์„œ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์กด์žฌํ•œ๋‹ค.

 

์•„๋ž˜ ํ•จ์ˆ˜๋Š” ์ฒ˜์Œ์— /dogs/1์„ ์ƒ์„ฑํ•˜๊ณ , ๋‹ค์‹œ ์š”์ฒญํ•˜๋ฉด /dogs/2๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

POST /dogs HTTP/1.1

{ "name": "blue", "age": 5 }

HTTP/1.1 201 Created

 

4. PUT

์ƒ์„ฑ ๋˜๋Š” ์—…๋ฐ์ดํŠธ ์‹œ ์‚ฌ์šฉํ•˜๊ณ  ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ๋ช…ํ™•ํžˆ ์ง€์ •ํ•œ ํ›„ ์š”์ฒญํ•œ๋‹ค.

  • Idempotent ํ•˜๋‹ค.
  • /dogs์˜ ํ”„๋กœํผํ‹ฐ(์†์„ฑ)๊ฐ€ name๊ณผ age ๋ฟ์ด๋ผ๋ฉด ๋ช‡ ๋ฒˆ์„ ์ˆ˜ํ–‰ํ•˜๋”๋ผ๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•œ๋‹ค.
PUT /dogs/3 HTTP/1.1

{ "name": "blue", "age": 5 }

 

5. PATCH

PUT์ด ๋ฆฌ์†Œ์Šค์˜ ๋ชจ๋“  ํ”„๋กœํผํ‹ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด PATCH๋Š” ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

  • PUT๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•Œ๊ณ  ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

6. DELETE

์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ URL๋กœ ์ง€์ •ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•  ๊ฒƒ์„ ์š”์ฒญํ•œ๋‹ค.

 

7. CONNET

HTTP ํ„ฐ๋„๋ง์„ ํ•  ๋•Œ ์“ฐ์ธ๋‹ค.

  • ์ค‘๊ฐ„์˜ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์œ„ํ•ด์„œ๋Š” CONNECT๋กœ ์š”์ฒญํ•˜๊ณ  ๋งˆ์ง€๋ง‰ ํ”„๋ก์‹œ์—์„œ end-point๋กœ๋Š” GET ๋˜๋Š” CONNECT๋ฅผ ๋‚ ๋ฆฐ๋‹ค.
  • HTTPS๋ผ๋ฉด CONNECT๋ฅผ HTTP๋ผ๋ฉด ๋‘˜ ์ค‘ ์•„๋ฌด๊ฑฐ๋‚˜ ์จ๋„ ์ƒ๊ด€์—†๋‹ค.

 

8. OPTIONS

ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ๊ฐ€๋Šฅํ•œ Operation์ด ๋ฌด์—‡์ธ์ง€ ์‘๋‹ต์„ ์–ป๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

  • Cachable ํ•˜์ง€ ์•Š๋‹ค.
  • ์ฆ‰, ๋ฆฌ์†Œ์Šค๋Š” ์ฃผ์–ด์ง„ URL์— ๋Œ€ํ•œ ์ •๋ณด์ธ๋ฐ OPTIONS๋Š” URL์˜ ์ •๋ณด๊ฐ€ ์•„๋‹Œ ๊ทธ URL์— ์–ด๋–ค ์—ฐ์‚ฐ ๊ธฐ๋Šฅ์ด ๊ฐ€๋Šฅํ•œ์ง€ ์•Œ๋ ค์ค€๋‹ค.

 

9. TRACE

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐฉ๊ธˆ ๋ณด๋‚ธ ์š”์ฒญ์„ ์„œ๋ฒ„์—๊ฒŒ ๋‹ค์‹œ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•œ๋‹ค.

  • ์ž์‹ ์˜ ์š”์ฒญ์ด ์„œ๋ฒ„์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ๋ณด์ด๊ฒŒ ๋˜๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค.
  • ์ฃผ๋กœ ์ง„๋‹จ(๋””๋ฒ„๊น…)์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ“ Computer Science/โœ Network & Web' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ์›น ์„œ๋ฒ„(WS)์™€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS)
  • URI, URL, URN
  • HTTP
  • TCP/IP์™€ TCP/UDP
Blxxming
Blxxming
CS ์ง€์‹๊ณผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ฐฐ์šด ๊ฒƒ, ๊ฒฝํ—˜ํ•œ ๊ฒƒ ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
  • Blxxming
    ๐Ÿ’ก๋ฒˆ๋œฉ๐Ÿ’ก
    Blxxming
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ณต์ง€์‚ฌํ•ญ

    • Tech Interview
    • ๐Ÿ“š Tech (246)
      • ๐Ÿ“ Computer Science (96)
        • โœ OS (12)
        • โœ Network & Web (10)
        • โœ Database (11)
        • โœ Data Structure (6)
        • โœ Algorithm (40)
        • โœ Design Pattern (9)
        • โœ Cloud Computing (3)
        • โœ (5)
      • ๐Ÿ“ Language (73)
        • โœ Language (6)
        • โœ C & C++ (11)
        • โœ C# (19)
        • โœ JAVA (37)
      • ๐Ÿ“ Game (43)
        • โœ Computer Graphics (2)
        • โœ Unity (14)
        • โœ Unreal (26)
        • โœ (1)
      • ๐Ÿ“ Book (34)
        • โœ Effective (3)
        • โœ Game Server (16)
        • โœ Clean Code (14)
        • โœ (1)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
Blxxming
HTTP Method
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”