Skip to content

Latest commit

ย 

History

History
145 lines (114 loc) ยท 8.93 KB

File metadata and controls

145 lines (114 loc) ยท 8.93 KB

HTTP Method

HTTP ํ”„๋กœํ† ์ฝœ

HTTP๋ž€ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ†ต์‹  ๊ทœ์•ฝ์œผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์›น ์„œ๋ฒ„ ์‚ฌ์ด์˜ ํ†ต์‹ ์„ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค

  • HTTP๋Š” TCP/IP ๊ธฐ๋ฐ˜์˜ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด๋‹ค
  • ๋™์ž‘๋ฐฉ์‹
    1. TCP Connection ์ˆ˜๋ฆฝ
    2. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ HTTP Request ์ „์†ก
    3. ์„œ๋ฒ„๋Š” HTTP Request์— ๋Œ€ํ•œ HTTP Response ์ „์†ก

ํŠน์ง•

  • ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless)
    • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ connection์„ ๋งบ์€ ํ›„ request, response๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉด connection์„ ๋Š๋Š”๋‹ค
    • connection ์œ ์ง€์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ์†Œ๋ชจ๋ฅผ ์ค„์ธ๋‹ค. โ†’ ๋” ๋งŽ์€ connection์„ ๋งบ์„ ์ˆ˜ ์žˆ์Œ
    • Keep-Alive ํ—ค๋”๋กœ connection์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Œ โ†’ ๋ฆฌ์†Œ์Šค ์†Œ๋ชจ์— ์œ ์˜
  • ๋ฌด์ƒํƒœ์„ฑ(Stateless)
    • Connectionless๋กœ ์ธํ•ด ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ์ •๋ณด(state)๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•œ๋‹ค
    • ๋‹จ์  : ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ์ธ์ฆ์ด ํ•„์š”ํ•จ โ†’ ์ฟ ํ‚ค & ์„ธ์…˜(์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ์ธ์ฆ), JWT(ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ) ์œผ๋กœ ํ•ด๊ฒฐ
    • ์žฅ์  : ์„œ๋ฒ„์˜ Scaling Out์ด ์›ํ™œํ•จ(์„ธ์…˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ)

HTTP Request Message

GET https://www.test.com HTTP/1.1 // ์‹œ์ž‘ ์ค„
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...// ํ—ค๋”
Upgrade-Insecure-Requests: 1
// ๋ณธ๋ฌธ - ํ˜„์žฌ๋Š” ์—†์Œ.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€
  • HTTP Request Message๋Š” 3๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋จ
    1. ์‹œ์ž‘์ค„ : HTTP Method ์ข…๋ฅ˜ & URI & HTTP ๋ฒ„์ „
    2. ํ—ค๋” : Request์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋ƒ„
    3. ๋ณธ๋ฌธ : RequestBody (Request์™€ ํ•จ๊ป˜ ์ „์†กํ•  ๋ฐ์ดํ„ฐ)

HTTP Method ์ข…๋ฅ˜

  • GET (Read)
    • ์ž์› ์กฐํšŒ ์‹œ ์‚ฌ์šฉ
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ, ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์„ ํ†ตํ•ด ์ „๋‹ฌ (๋ฐ์ดํ„ฐ๋ฅผ RequestBody๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ณณ์ด ๋งŽ์Œ)
    • GET Request์— ๋Œ€ํ•œ Response : ์บ์‹œ ๊ฐ€๋Šฅ
  • HEAD
    • GET ๋ฉ”์†Œ๋“œ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘
    • ์‘๋‹ต์ฝ”๋“œ & ํ—ค๋”๋งŒ ์กด์žฌ(RequestBody๊ฐ€ ์—†์Œ)
  • POST (Create)
    • ์ž์› ์ƒ์„ฑ ์‹œ ์‚ฌ์šฉ
    • ์ƒ์„ฑํ•  ๋ฐ์ดํ„ฐ๋ฅผ RequestBody์— ๋‹ด์•„ ์ „๋‹ฌํ•จ (์ฃผ๋กœ JSON ํ˜•์‹)
    • POST Request์— ๋Œ€ํ•œ Response : ์บ์‹œ ๊ฐ€๋Šฅ
  • PUT (Create, Update)
    • ์ž์› ๋Œ€์ฒด ์‹œ ์‚ฌ์šฉ (URI์— ์ž์› ์‹๋ณ„์ž ํ‘œ์‹œ)
    • ๋Œ€์ฒดํ•  ๋ฐ์ดํ„ฐ๋ฅผ RequestBody์— ๋‹ด์•„ ์ „๋‹ฌํ•จ (RequestBody์— ๋‹ด์ง€ ์•Š์€ ๋‚ด์šฉ์€ ํ•ด๋‹น ์ž์›์—์„œ ์‚ญ์ œ๋จ) โ†’ ์ž์›์„ ์ˆ˜์ •ํ•  ๋•Œ์—๋Š” PATCH๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ!
    • PUT Request์— ๋Œ€ํ•œ Response : ์บ์‹œ ๋ถˆ๊ฐ€๋Šฅ
  • PATCH (Update)
    • ์ž์› ์ˆ˜์ • ์‹œ ์‚ฌ์šฉ
    • ์ˆ˜์ •ํ•  ๋ฐ์ดํ„ฐ๋งŒ RequestBody์— ๋‹ด์•„ ์ „๋‹ฌํ•จ (RequestBody์— ๋‹ด์ง€ ์•Š์€ ๋‚ด์šฉ์€ ์‚ญ์ œ ์•ˆ๋จ)
    • ์„œ๋ฒ„์—์„œ PATCH ๋ฉ”์†Œ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ POST๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋จ
  • DELETE (Delete)
    • ์ž์› ์‚ญ์ œ ์‹œ ์‚ฌ์šฉ (URI์— ์ž์› ์‹๋ณ„์ž ํ‘œ์‹œ, ํ‘œ์‹œ ์•ˆํ•˜๋ฉด ๋ชจ๋‘ ์‚ญ์ œ๋จ)

HTTP Method ์†์„ฑ

untitled

  • ์•ˆ์ „์„ฑ
    • ํ•ด๋‹น HTTP ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด๋„ ์ž์›์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ํŠน์„ฑ
    • ์•ˆ์ „ํ•œ ๋ฉ”์†Œ๋“œ๋Š” ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ์•„์˜ˆ ๋ณ€๊ฒฝ์‹œํ‚ค์ง€ ์•Š์Œ
    • GET, HEAD, OPTIONS, TRACE
  • ๋ฉฑ๋“ฑ์„ฑ
    • ํ•ด๋‹น HTTP ๋ฉ”์†Œ๋“œ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ์ถœํ•ด๋„ ์š”์ฒญ์˜ ํšจ๊ณผ๊ฐ€ ๋™๋“ฑํ•˜๋‹ค๋Š” ํŠน์„ฑ
    • ๋ฉฑ๋“ฑํ•œ ๋ฉ”์†Œ๋“œ๋Š” ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ฌ ์ˆ˜๋„, ์‹œํ‚ค์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ. ํ•œ ์š”์ฒญ์— ๋Œ€ํ•œ ์„œ๋ฒ„์˜ ์ƒํƒœ๋Š” ํ•ญ์ƒ ๋™์ผํ•จ
    • ๋ฉฑ๋“ฑ์„ฑ์€ ์„œ๋ฒ„๊ฐ€ ์ •์ƒ์ ์œผ๋กœ Response๋ฅผ ๋ชป ๋ณด๋‚ผ ๊ฒฝ์šฐ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋™์ผํ•œ Request๋ฅผ ๋ณด๋‚ด๋„ ๋˜๋Š”์ง€ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฐœ๋…์ด๋‹ค. โ†’ ์ž๋™ ๋ณต๊ตฌ ๋งค์ปค๋‹ˆ์ฆ˜์— ํ•„์š”ํ•œ ๊ฐœ๋…
    • GET, PUT, DELETE
      • GET /data : ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ์ถœํ•ด๋„ ์ž์› ์ •๋ณด๋งŒ ์กฐํšŒ๋  ๋ฟ ์„œ๋ฒ„์˜ ์ƒํƒœ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š์Œ
      • PUT /data/3 : ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ์ถœํ•ด๋„ ํ•ด๋‹น ์ž์›์˜ ๋‚ด์šฉ์ด ์š”์ฒญํ•œ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ๋‹ค๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•จ
      • DELETE /data/3 : ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ์ถœํ•ด๋„ ํ•ด๋‹น ์ž์›์ด ์‚ญ์ œ๋˜์—ˆ๋‹ค๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•จ
      • โŒPOST /data : ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ์ถœ๋˜๋ฉด, ๋™์ผํ•œ ๋‚ด์šฉ์˜ ์ž์›์ด ์ค‘๋ณต๋˜์–ด ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‘๋‹ต๊ฒฐ๊ณผ๊ฐ€ ๋งค๋ฒˆ ๋‹ฌ๋ผ์ ธ ๋ฉฑ๋“ฑ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์Œ!
  • ์บ์‹œ ๊ฐ€๋Šฅ
    • ํ•ด๋‹น HTTP ๋ฉ”์†Œ๋“œ์˜ ์‘๋‹ต ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์„ฑ
    • GET, HEAD, POST(POST์˜ ๊ฒฝ์šฐ ์‘๋‹ต ํ—ค๋”์— Cache-Control ๋˜๋Š” Expires ํ•„๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ๋‹ค๋ฉด ์บ์‹ฑ์ด ๊ฐ€๋Šฅํ•จ, ์ฐธ๊ณ )

HTTP Method ๋น„๊ต

  • POST vs PUT
POST PUT
๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์€ ์ฑ„, ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฉ”์†Œ๋“œ ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์—ฌ, ๋ฆฌ์†Œ์Šค์˜ ๋‚ด์šฉ์„ ๋Œ€์ฒดํ•˜๋Š” ๋ฉ”์†Œ๋“œ
POST ์—ฐ์‚ฐ์ด ์—ฌ๋Ÿฌ๋ฒˆ ์ˆ˜ํ–‰๋˜๋ฉด ์ค‘๋ณต๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. PUT ์—ฐ์‚ฐ์ด ์—ฌ๋Ÿฌ๋ฒˆ ์ˆ˜ํ–‰๋˜์–ด๋„, ์ง€์ •๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋™์ผํ•œ ๋‚ด์šฉ์œผ๋กœ ๋Œ€์ฒด๋œ๋‹ค.
๋ฉฑ๋“ฑ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค โ†’ ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” HTTP ์š”์ฒญ ๋ฉ”์†Œ๋“œ์ด๋ฏ€๋กœ ๋ฉฑ๋“ฑ์„ฑ์„ ๋งŒ์กฑํ•œ๋‹ค โ†’ ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” HTTP ์š”์ฒญ ๋ฉ”์†Œ๋“œ์ด๋ฏ€๋กœ
  • GET vs POST
GET POST
์šฉ๋„ ์„œ๋ฒ„์˜ ์ž์›์„ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. READ ์„œ๋ฒ„์˜ ์ž์›์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. CREATE, UPDATE
URL์— ๋ฐ์ดํ„ฐ ๋…ธ์ถœ ์—ฌ๋ถ€ URL์— ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ์š”์ฒญํ•˜๊ธฐ ๋•Œ๋ฌธ์— URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋œ๋‹ค. URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค
URL ์˜ˆ์‹œ http://localhost:8080/boardList?name=์ œ๋ชฉ&content=๋‚ด์šฉ http://localhost:8080/addBoard
๋ฐ์ดํ„ฐ ์œ„์น˜ HTTP Request Message์˜ header ๋ถ€๋ถ„์— URL์ด ๋‹ด๊ฒจ ์ „์†ก๋œ๋‹ค. (URL์˜ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์— ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋จ) HTTP Request Message์˜ body ๋ถ€๋ถ„์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ฒจ ์ „์†ก๋œ๋‹ค.
response ์บ์‹ฑ GET response ์ •๋ณด๋ฅผ ์บ์‹ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ POST response์˜ ์บ์‹ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.(์‘๋‹ต ํ—ค๋”์— Cache-Control ๋˜๋Š” Expires ํ•„๋“œ๋ฅผ ํฌํ•จํ•˜๋ฉด ๊ฐ€๋Šฅํ•จ)
๋ฐ์ดํ„ฐ ํฌ๊ธฐ ์ œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ URL์ด๋ผ๋Š” ๊ณต๊ฐ„์— ๋‹ด์•„ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์†ก๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๊ฐ€ ์ œํ•œ์ ์ด๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€ ํฌ๊ธฐ๊ฐ€ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ ํ•ฉํ•˜๋‹ค.
๋ณด์•ˆ URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์–ด ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค. URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š์•„์„œ GET๋ฐฉ์‹๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ๋ณด์•ˆ์ ์ด์ง€๋งŒ, ์•”ํ˜ธํ™” ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๊ณ ๋งŒ๊ณ ๋งŒํ•˜๋‹ค.
๋ฉฑ๋“ฑ์„ฑ ๋ฉฑ๋“ฑ์„ฑ์„ ๋งŒ์กฑํ•œ๋‹ค (์—ฌ๋Ÿฌ๋ฒˆ ์กฐํšŒํ•ด๋„, ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š”๋‹ค) ๋ฉฑ๋“ฑ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค (์—ฌ๋Ÿฌ๋ฒˆ POST ์š”์ฒญ์„ ๋‚ ๋ฆฌ๋ฉด, ์ค‘๋ณต๋œ ์ž์›์ด ์ƒ์„ฑ๋œ๋‹ค)
  • POST์— ๋งž๋Š” ์š”์ฒญ์„ GET์œผ๋กœ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ ์บ์‹ฑ ๋ฌธ์ œ (์ „์ œ์กฐ๊ฑด : POST ์š”์ฒญ ํ—ค๋”์— Cache-Control ๋˜๋Š” Expires ํ•„๋“œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•„ ์‘๋‹ต๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ)

    • GET ๋ฐฉ์‹์€ ๋ฉฑ๋“ฑ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ GET ์š”์ฒญ์„ ์—ฌ๋Ÿฌ๋ฒˆ ์ˆ˜ํ–‰ํ•˜์—ฌ๋„ ๊ฐ™์€ response๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €์—์„œ GET์˜ response๋ฅผ ์บ์‹ฑํ•˜์—ฌ, ๋™์ผํ•œ URL๋กœ GET ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‘๋‹ตํ•œ๋‹ค.

    • POST ๋ฐฉ์‹์€ ๋ฉฑ๋“ฑ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, POST ์š”์ฒญ์„ ์—ฌ๋Ÿฌ๋ฒˆ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ž์›์ด ์ค‘๋ณต ์ƒ์„ฑ๋˜์–ด ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•œ๋‹ค. ๋งค ์š”์ฒญ๋งˆ๋‹ค ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋Š” ํŠน์„ฑ ๋•Œ๋ฌธ์— POST์˜ response๋ฅผ ์บ์‹ฑํ•  ์ˆ˜ ์—†๋‹ค.

    • ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  POST ๋ฐฉ์‹์— ๋งž๋Š” ์š”์ฒญ์„ GET ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด, response๊ฐ€ ์บ์‹ฑ๋˜์–ด ์‹ค์ œ ์ž์›์˜ ๋‚ด์šฉ๊ณผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ(not fresh response)๋ฅผ ์–ป๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

HTTP Response Message

HTTP/1.1 200 OK	// ์‹œ์ž‘ ์ค„
Connection: keep-alive	// ํ—ค๋”
Content-Encoding: gzip
Content-Length: 35653
Content-Type: text/html;

<!DOCTYPE html><html lang="ko" data-reactroot=""><head><title... // ๋ณธ๋ฌธ
  • ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€
  • HTTP Response Message๋Š” 3๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋จ
    1. ์‹œ์ž‘์ค„ : HTTP ๋ฒ„์ „ & ์ƒํƒœ ์ฝ”๋“œ(Status Code) & ์ƒํƒœ ๋ฉ”์‹œ์ง€(Status Message)
    2. ํ—ค๋” : Request์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋ƒ„
    3. ๋ณธ๋ฌธ : ResponseBody (Response์™€ ํ•จ๊ป˜ ์ „์†กํ•  ๋ฐ์ดํ„ฐ)

์ƒํƒœ ์ฝ”๋“œ(Status Code)

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์˜ ์ฒ˜๋ฆฌ ์ƒํƒœ์— ๋Œ€ํ•œ ์ฝ”๋“œ
  • ์ˆซ์ž 3์ž๋ฆฌ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ณ , ํฌ๊ฒŒ 5๊ฐœ์˜ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
1XX ์ •๋ณด์ „์†ก ์ž„์‹œ์‘๋‹ต ์š”์ฒญ์„ ๋ฐ›์•˜์œผ๋ฉฐ ์ž‘์—…์„ ๊ณ„์†ํ•œ๋‹ค
2XX ์„ฑ๊ณต ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜์—ฌ ์ดํ•ดํ–ˆ๊ณ , ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค
3XX ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์™„๋ฃŒ ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ์„ ๋งˆ์น˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋™์ž‘์„ ์ทจํ•ด์•ผํ•œ๋‹ค
4XX ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์˜ค๋ฅ˜ ํด๋ผ์ด์–ธํŠธ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค
5XX ์„œ๋ฒ„ ์˜ค๋ฅ˜ ์„œ๋ฒ„๊ฐ€ ์œ ํšจํ•œ ์š”์ฒญ์„ ๋ช…๋ฐฑํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ–ˆ์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค