HTTP ๋ฉ”์‹œ์ง€

· โ˜• 7 min read · ๐Ÿ‘€... views

์ตœ๊ทผ์— REST api ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ์—ˆ๋Š”๋ฐ, ๋งˆ์นจ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ์ผ์ด ์žˆ์–ด์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์— REST ๋ฅผ ์ ์šฉํ•ด์„œ ๋งŒ๋“œ๋ ค๊ณ  ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด์ „ ์ฝ”๋“œ์—์„œ๋Š” HTTP ๋ฉ”์†Œ๋“œ๋ฅผ GET,POST ๊ตฌ๋ถ„์—†์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ์— (์กฐํšŒ๋ฅผ ํ•  ๋•Œ, POST ์— ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•œ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ํ˜•์‹), ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ์ž๋ถ„์ด๋ž‘ ๋งž์ถ”๋ฉด์„œ ํ•˜๋Š”๋ฐ, ์„œ๋กœ ๊ธฐ๋ณธ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ถ€๋ถ„์ด ๋‹ค๋ฅด๊ธฐ์— ์ดํ•ด์‹œ์ผœ์ฃผ๋Š”๋ฐ ์—๋ฅผ ๋จน์—ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ์Šต๋‹ˆ๋‹ค. (ํ—ค๋”์˜ Content-Type ์ด๋ผ๋˜๊ฐ€, Accept-Type ๋“ฑ)

์–˜๊ธฐ๋ฅผ ํ•˜๋ฉด์„œ, ๋‚ด๊ฐ€ ์–ด๋Š ์ •๋„ ์•Œ์•„๋„, ์„ค๋ช…์„ ํ•˜๋Š” ๊ฒƒ์€ ๋˜ ๋ณ„๊ฐœ์˜ ์˜์—ญ์ด๋ผ๋Š” ๋Š๋‚Œ์ด ๋“ค๋”๊ตฐ์š”. (๋ฌผ๋ก  ์ž˜ ์•Œ๋ฉด, ์„ค๋ช…๋„ ์ž˜ ํ•˜๊ฒ ์ง€๋งŒ์š”..)

๋ง‰์—ฐํ•˜๊ฒŒ ๋‹น์—ฐํžˆ ๊ทธ๋Ÿฐ๊ฑฐ ์•„๋‹ˆ์•ผ? ๋ผ๊ณ  ์ƒ๊ฐํ•  ๋งŒํ•œ HTTP ํ—ค๋”์™€ ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค.

1. HTTP ๋ฉ”์‹œ์ง€์˜ ํ๋ฆ„

HTTP ๋ฉ”์‹œ์ง€๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณดํ†ต ์—ฌ๊ธฐ์„œ ๋งŽ์€ ๋“ค์–ด๋ณธ, ์ธ๋ฐ”์šด๋“œ์™€ ์•„์›ƒ๋ฐ”์šด๋“œ๋ผ๋Š” ๋ง์ด ๋‚˜์˜ค๋Š”๋ฐ์š”.

์„œ๋ฒ„ ๋ฐฉํ–ฅ(ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„) ์„ ์ธ ๋ฐ”์šด๋“œ ๋ผ๊ณ  ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ ๋ฐฉํ–ฅ(์„œ๋ฒ„ -> ํด๋ผ์ด์–ธํŠธ) ์„ ์•„์›ƒ ๋ฐ”์šด๋“œ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฉ”์‹œ์ง€๋Š” ํ•ญ์ƒ ๋‹ค์šด์ŠคํŠธ๋ฆผ์œผ๋กœ ํ๋ฆ…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์™œ ํ•ญ์ƒ ๋‹ค์šด์ŠคํŠธ๋ฆผ์ธ๊ฐ€ ํ•˜๋ฉด, ์ด๊ฑด ๋ฉ”์‹œ์ง€๊ฐ€ ์–ด๋”œ ํ–ฅํ•˜๋Š”๊ฐ€์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์•„๋‹Œ ๋ฐœ์†ก์ž์™€ ์ˆ˜์‹ ์ž์˜ ๋Œ€ํ•œ ๋‚ด์šฉ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. (ํด๋ผ -> ์„œ๋ฒ„, ์„œ๋ฒ„ -> ํด๋ผ)

HTTP ๋ฉ”์‹œ์ง€๋Š” ์ฃผ๋กœ ์‹œ์ž‘์ค„, ํ—ค๋”, ๋ณธ๋ฌธ ์ด๋ ‡๊ฒŒ 3๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ณธ๋ฌธ์€ ํ•„์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์ฃผ๋กœ ์š”์ฒญ์—์„œ๋Š”

GET /hello HTTP/1.1 - ์‹œ์ž‘์ค„


Accept: text/plain - ํ—ค๋”

Host : ysjune.github.io

๊ทธ๋ฆฌ๊ณ  ์ด์— ๋Œ€ํ•œ ์‘๋‹ต์—์„œ๋Š”

HTTP /1.1 200 OK. - ์‹œ์ž‘์ค„


Content-type : text/plain. - ํ—ค๋”

Content-length : 20


Hi! Long time no see! - ๋ณธ๋ฌธ

์ด๋Ÿฐ์‹์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์ค„์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ๋ณด๋ฉด,

  1. ์š”์ฒญ
    1. ์‹œ์ž‘์ค„
      • ๋ฉ”์†Œ๋“œ๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ์„œ๋ฒ„์—๊ฒŒ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋งํ•ด์ค๋‹ˆ๋‹ค.
      • URL ๊ณผ ํ•จ๊ป˜ HTTP ๋ฒ„์ „์„ ํ•จ๊ป˜ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค.
    2. ํ—ค๋”
      • ์š”์ฒญ์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋”ํ•ฉ๋‹ˆ๋‹ค.
      • ์œ„์˜ ์˜ˆ์—์„œ Accept: text/plain ๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” text ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์–˜๊ธฐ์ž…๋‹ˆ๋‹ค.
  2. ์‘๋‹ต
    1. ์‹œ์ž‘์ค„
      • ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฌด์—‡์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
      • ์œ„์˜ ์˜ˆ HTTP /1.1 200 OK ์—์„œ ์ƒํƒœ์ฝ”๋“œ๋Š” 200 ์ž…๋‹ˆ๋‹ค.
    2. ํ—ค๋”
      • ์‘๋‹ต ๋ฉ”์‹œ์ง€์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋”ํ•ฉ๋‹ˆ๋‹ค.
      • ์œ„์˜ ์˜ˆ์—์„œ ๋ณธ๋ฌธ์€ text ์ด๊ณ , ๊ธธ์ด๋Š” 20 ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    3. ๋ณธ๋ฌธ
      • ์„ ํƒ์ ์ธ ๊ฒƒ์œผ๋กœ ๋ณธ๋ฌธ์€ ์ฃผ์ง€ ์•Š๋Š” ์‘๋‹ต๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

2. HTTP ๋ฉ”์†Œ๋“œ

๋Œ€๋žต์ ์ธ ๋ฉ”์‹œ์ง€์˜ ํ๋ฆ„์„ ๋ดค์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ์—” ์‹œ์ž‘์ค„์— ์œ„์น˜ํ•œ HTTP ๋ฉ”์†Œ๋“œ(GET, POST ๋“ฑ) ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. GET

  • ์ฃผ๋กœ ์„œ๋ฒ„์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•  ๋•Œ ์“ฐ์ด๋ฉฐ, ๊ฐ€์žฅ ํ”ํžˆ ์“ฐ์ด๋Š” ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค.
  • ์ฃผ๋กœ ๋ฉฑ๋“ฑ์„ฑ (๋ช‡ ๋ฒˆ์„ ํ˜ธ์ถœํ•˜๋“  ๊ฐ™์€ ๋‚ด์šฉ) ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜ฌ ๋•Œ ๋งŽ์ด ๋‚˜์˜ค๋Š” ๋ฉ”์†Œ๋“œ ์ž…๋‹ˆ๋‹ค.

2. HEAD

  • GET ๊ณผ ๊ฐ™์ด ํ–‰๋™ํ•˜์ง€๋งŒ, ์„œ๋ฒ„๋Š” ์‘๋‹ต์œผ๋กœ ํ—ค๋”๋งŒ์„ ๋Œ๋ ค์ค๋‹ˆ๋‹ค.
  • ๋ณธ๋ฌธ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์ฃผ๋กœ ์ƒํƒœ๊ฐ€ ์กด์žฌํ•˜๊ฑฐ๋‚˜, ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

3. PUT

  • ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ๋ณธ๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์š”์ฒญ URL ์˜ ์ด๋ฆ„๋Œ€๋กœ ์ƒˆ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜, ๋ณธ๋ฌธ์„ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • PUT ์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์„ ํ–‰์ž‘์—…์œผ๋กœ ๋กœ๊ทธ์ธ๋“ฑ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

4. POST

  • ์„œ๋ฒ„์— ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • PUT ๊ณผ ๊ฒน์น˜๋Š” ๋‚ด์šฉ์ด ๋งŽ์ง€๋งŒ, ์ฃผ๋กœ ์ƒˆ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

5. TRACE

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค ์š”์ฒญ์„ ํ•  ๋•Œ, ๊ทธ ์š”์ฒญ์€ ๋ฐฉํ™”๋ฒฝ, ํ”„๋ก์‹œ, ๊ฒŒ์ดํŠธ์›จ์ด ๋“ฑ์„ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฐ ์š”์ฒญ์„ ํ†ต๊ณผํ•  ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (ex. ํ—ค๋” ๋‚ด์šฉ ์ถ”๊ฐ€ ๋“ฑ) ์ด๋Ÿด ๋•Œ, ์ž์‹ ์˜ ์š”์ฒญ์ด ์„œ๋ฒ„์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ, ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š” ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6. OPTIONS

  • ์›น ์„œ๋ฒ„์—๊ฒŒ ์–ด๋–ค ๋ฉ”์†Œ๋“œ๊ฐ€ ์ง€์›๋˜๋Š”์ง€ ๋ฌผ์–ด๋ด…๋‹ˆ๋‹ค.

7. DELETE

  • ์„œ๋ฒ„์—์„œ ์š”์ฒญ URL๋กœ ์ง€์ •ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•  ๊ฒƒ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ, ์š”์ฒญ์ด ํ™•์‹คํžˆ ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€๋Š” ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. HTTP ๋ช…์„ธ์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์•Œ๋ฆฌ์ง€ ์•Š๊ณ  ์š”์ฒญ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์œ„์˜ ๋‚ด์šฉ๋“ค์„ ๊ฐ„๋žตํ•˜๊ฒŒ ํ‘œ๋กœ ๋ณด๋ฉด

๋ฉ”์†Œ๋“œ ์„ค๋ช… ๋ณธ๋ฌธ ํฌํ•จ ์—ฌ๋ถ€
GET ์„œ๋ฒ„์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. X
HEAD ์„œ๋ฒ„์—์„œ ๋ฆฌ์†Œ์Šค์˜ ํ—ค๋”๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค. X
POST ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ๋‹ค. (์ฃผ๋กœ ์ƒ์„ฑ) O
PUT ์„œ๋ฒ„์— ์š”์ฒญ ๋ฉ”์‹œ์ง€์˜ ๋ณธ๋ฌธ์„ ์ €์žฅํ•œ๋‹ค. O
TRACE ๋ฉ”์‹œ์ง€๊ฐ€ ์„œ๋ฒ„์— ๋„๋‹ฌํ•˜๋Š” ๊ณผ์ •์„ ์ถ”์  X
OPTIONS ์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ X
DELETE ์„œ๋ฒ„์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. X

3. ์ƒํƒœ ์ฝ”๋“œ

์‘๋‹ต์„ ํ•  ๋•Œ ๋ณด๋‚ด์ฃผ๋Š” ์ƒํƒœ์ฝ”๋“œ๋กœ, 100๋ฒˆ๋Œ€ ๋ถ€ํ„ฐ 500๋ฒˆ๋Œ€๊นŒ์ง€ ํฌ๊ฒŒ 5๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

1. 100๋ฒˆ๋Œ€ ์ƒํƒœ์ฝ”๋“œ : ์ •๋ณด์„ฑ ์ƒํƒœ์ฝ”๋“œ

  • HTTP/1.1 ์—์„œ ๋„์ž…๋˜์—ˆ์œผ๋ฉฐ, ๋ณต์žกํ•œ ํ˜•ํƒœ๋ฅผ ๋„๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ƒํƒœ ์ฝ”๋“œ ๋‚ด์šฉ ์˜๋ฏธ
100 Continue ์š”์ฒญ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„ ์ผ๋ถ€๊ฐ€ ๋ฐ›์•„๋“ค์—ฌ์กŒ์œผ๋ฉฐ, ํด๋ผ์ด์–ธํŠธ๋Š” ๋‚˜๋จธ์ง€๋ฅผ ๊ณ„์† ์ด์–ด์„œ ๋ณด๋‚ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

2. 200๋ฒˆ๋Œ€ ์ƒํƒœ์ฝ”๋“œ : ์„ฑ๊ณต ์ƒํƒœ์ฝ”๋“œ

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, ๋Œ€๊ฒŒ ์„ฑ๊ณตํ•˜๋Š”๋ฐ ์„œ๋ฒ„๋Š” ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ์ƒํƒœ์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ƒํƒœ์ฝ”๋“œ ๋‚ด์šฉ ์˜๋ฏธ
200 OK ์ •์ƒ ์š”์ฒญ
201 Created ์„œ๋ฒ„ ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต
202 Accepted ์š”์ฒญ์€ ๋ฐ›์•„๋“ค์—ฌ์กŒ์œผ๋‚˜, ๊ทธ์— ๋Œ€ํ•œ ๋™์ž‘์€ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค.
203 Non-Authoritative Information ์—”ํ„ฐ๋”” ํ—ค๋”์— ๋“ค์–ด๊ฐ€์žˆ๋Š” ์ •๋ณด๊ฐ€ ์›๋ž˜ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ๋ฆฌ์†Œ์Šค์˜ ์‚ฌ๋ณธ์—์„œ ์™”์Œ
204 No Content ์‘๋‹ต ๋ฉ”์‹œ์ง€๋Š” ํ—ค๋”์™€ ์ƒํƒœ๋ฅผ ํฌํ•จํ•˜์ง€๋งŒ, ๋ณธ๋ฌธ์€ ํฌํ•จํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ
205 Reset Content ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ˜„์žฌ ํŽ˜์ด์ง€์— ์žˆ๋Š” HTML ํผ ๊ฐ’์„ ๋ฆฌ์…‹
206 Partial Content ๋ถ€๋ถ„ ํ˜น์€ ๋ฒ”์œ„ ์š”์ฒญ์ด ์„ฑ๊ณต

3. 300๋ฒˆ๋Œ€ ์ƒํƒœ์ฝ”๋“œ : ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ƒํƒœ์ฝ”๋“œ

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ด€์‹ฌ์žˆ์–ด ํ•˜๋Š” ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ๋งํ•ด์ฃผ๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ๋Œ€์•ˆ ์‘๋‹ต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์ƒํƒœ์ฝ”๋“œ ๋‚ด์šฉ ์˜๋ฏธ
300 Multiple Choice ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋™์‹œ์— ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” URL ์„ ์š”์ฒญํ•œ ๊ฒฝ์šฐ, ๊ทธ ๋ฆฌ์†Œ์Šค์˜ ๋ชฉ๋ก๊ณผ ํ•จ๊ป˜ ๋ฐ˜ํ™˜
301 Moved Permanently ์š”์ฒญํ•œ URL ์ด ์˜ฎ๊ฒจ์กŒ์„ ๋•Œ ์‚ฌ์šฉ
305 Use Proxy ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด์„œ ์ ‘๊ทผ๋˜์–ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ„

4. 400๋ฒˆ๋Œ€ ์ƒํƒœ์ฝ”๋“œ : ํด๋ผ์ด์–ธํŠธ ์—๋Ÿฌ ์ƒํƒœ์ฝ”๋“œ

  • ์„œ๋ฒ„๊ฐ€ ๋‹ค๋ฃฐ ์ˆ˜ ์—†๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณด๋‚ผ ๋•Œ ๋‚˜์˜ค๋Š” ์‘๋‹ต์ฝ”๋“œ ์ž…๋‹ˆ๋‹ค.
์ƒํƒœ์ฝ”๋“œ ๋‚ด์šฉ ์˜๋ฏธ
400 Bad Request ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž˜๋ชป๋œ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ
401 Unauthorized ๋ฆฌ์†Œ์Šค๋ฅผ ์–ป๊ธฐ ์ „์— ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์Šค์Šค๋กœ ์ธ์ฆ์„ ํ•˜๋ผ๊ณ  ์š”๊ตฌ
403 Forbidden ์š”์ฒญ์— ์„œ๋ฒ„์— ์˜ํ•ด ๊ฑฐ๋ถ€๋˜์—ˆ์Œ (๋ณดํ†ต ์„œ๋ฒ„๊ฐ€ ๊ฑฐ์ ˆ์˜ ์ด์œ ๋ฅผ ์ˆจ๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ)
404 Not Found ์š”์ฒญํ•œ URL ์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ
405 Method Not Allowed ์š”์ฒญํ•œ URL ์— ๋Œ€ํ•ด ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ๋กœ ์š”์ฒญํ–ˆ์„ ๋•Œ ์‚ฌ์šฉ
406 Not Acceptable ์ฃผ์–ด์ง„ URL ์— ๋Œ€ํ•ด ์‘๋‹ต์„ ํ•  ๋•Œ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ›์„ ์ˆ˜ ์—†๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
408 Request Timeout ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์™„์ˆ˜ํ•˜๊ธฐ์— ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๋งŽ์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ
415 Unsupported Media Type ์„œ๋ฒ„๊ฐ€ ์ดํ•ดํ•˜๊ฑฐ๋‚˜ ์ง€์›ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‚ด์šฉ ์œ ํ˜•์˜ ์—”ํ‹ฐํ‹ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋ƒˆ์„ ๋•Œ ์‚ฌ์šฉ

5. 500๋ฒˆ๋Œ€ ์ƒํƒœ์ฝ”๋“œ : ์„œ๋ฒ„ ์—๋Ÿฌ ์ƒํƒœ์ฝ”๋“œ

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์š”์ฒญ์„ ๋ณด๋ƒˆ์Œ์—๋„ ์„œ๋ฒ„ ์ž์ฒด์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ƒํƒœ์ฝ”๋“œ ๋‚ด์šฉ ์˜๋ฏธ
500 Internal Server Error ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“œ๋Š” ์—๋Ÿฌ๋Š” ๋งŒ๋‚ฌ์„ ๋•Œ ์‚ฌ์šฉ
502 Bad Gateway ํ”„๋ก์‹œ๋‚˜ ๊ฒŒ์ดํŠธ์›จ์ด๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ชป ๋ณด๋‚ด๊ฑฐ๋‚˜ ์‘๋‹ต์„ ๋ชป ๋ฐ›์„ ๋•Œ (ex, ๋ถ€๋ชจ ๊ฒŒ์ดํŠธ์›จ์ด ์ ‘์† ๋ถˆ๊ฐ€)
503 Service Unavailable ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋Š” ์žˆ์œผ๋‚˜, ํ˜„์žฌ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ  ๋‚˜์ค‘์— ๊ฐ€๋Šฅํ•  ๋•Œ ์‚ฌ์šฉ
504 Gateway Timeout 408 ์ƒํƒœ์ฝ”๋“œ์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ์„œ๋ฒ„๋‚˜ ๊ฒŒ์ดํŠธ์›จ์ด๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›๋‹ค๊ฐ€ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ

4. ํ—ค๋”

ํ—ค๋”๋Š” ๋ฉ”์†Œ๋“œ์™€ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ—ค๋”๋Š” ํฌ๊ฒŒ ๋‹ค์„ฏ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

1. ์ผ๋ฐ˜ ํ—ค๋”

  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์–‘์ชฝ ๋ชจ๋‘๊ฐ€ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ex) ๋ฉ”์‹œ์ง€๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ์ผ์‹œ๋ฅผ ์ง€์นญํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ

    Date: Sat, 17 Apr 2021 02:02:22 GMT

2. ์š”์ฒญ ํ—ค๋”

  • ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ์œ„ํ•œ ํ—ค๋”์ž…๋‹ˆ๋‹ค.

  • ์„œ๋ฒ„์—๊ฒŒ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ›๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์ด ๋ฌด์—‡์ธ์ง€ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ex) ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์–ด๋–ค ๋ฏธ๋””์–ด ํƒ€์ž…๋„ ๋ฐ›์•„๋“ค์ผ ๊ฒฝ์šฐ

    Accept : * / *

3. ์‘๋‹ต ํ—ค๋”

  • ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ—ค๋”์ž…๋‹ˆ๋‹ค.

  • ex) ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด๋ฆ„

    Server : toy Server

    ex) ํ˜„์žฌ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ ์–ธ์ œ ๊ฐ€๋Šฅํ•ด์ง€๋Š”์ง€ ์‹œ๊ฐ ํ˜น์€ ๋‚ ์งœ ์ œ๊ณต

    Retry-After : Sat, 17 Apr 2021 02:02:22 GMT

4. ์—”ํ‹ฐํ‹ฐ ํ—ค๋”

  • ๋ณธ๋ฌธ์— ๋Œ€ํ•œ ํ—ค๋”๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

  • ex) ๋ณธ๋ฌธ์— ๋“ค์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ UTF-8 ์ธ ๊ฒฝ์šฐ

    Content-Type : text/html; charset=utf-8

    ex) ๋ณธ๋ฌธ์˜ ๊ธธ์ด๊ฐ€ 20 ์ธ ๊ฒฝ์šฐ

    Content-Length : 20

5. ํ™•์žฅ ํ—ค๋”

  • ๊ฐœ๋ฐœ์ž๋“ค์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์ง€๋งŒ, ์•„์ง ์Šน์ธ๋˜์ง„ ์•Š์€ ๋น„ํ‘œ์ค€ ํ—ค๋”์ž…๋‹ˆ๋‹ค.
  • HTTP ํ”„๋กœ๊ทธ๋žจ์€ ํ™•์žฅ ํ—ค๋”๋“ค์— ๋Œ€ํ•ด ์„ค๋ น ์˜๋ฏธ๋ฅผ ๋ชจ๋ฅธ๋‹คํ• ์ง€๋ผ๋„ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

5. ์ •๋ฆฌ

HTTP ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด์„œ ์ญ‰ ์ •๋ฆฌ๋ฅผ ํ•ด๋ดค๋Š”๋ฐ,

์•„๋Š” ๋‚ด์šฉ๋„ ์žˆ์—ˆ์ง€๋งŒ, ๋ชฐ๋ž๊ฑฐ๋‚˜ ์ฒ˜์Œ๋ณด๋Š” ๋‚ด์šฉ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. (ํŠนํžˆ ์ƒํƒœ์ฝ”๋“œ ๋ถ€๋ถ„)

ํ˜„์—…์„ ํ•˜๊ณ  ์žˆ์Œ์—๋„, ๋‹ค๋ฅธ ๊ณณ์—์„œ๋Š” ์–ผ๋งˆ๋‚˜ ์ƒํƒœ์ฝ”๋“œ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์“ฐ๊ณ  ์žˆ๋Š”์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”. (REST๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ์ง€์ผœ๊ฐ€๋ฉด์„œ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋งฅ๋ฝ์ผ๋ ค๋‚˜์š”?)

ํšŒ์‚ฌ์˜ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ๋„, ์ด๋Ÿฐ ๋‚ด์šฉ๋“ค์€ ์•Œ๊ณ  ์ž˜๋ชป ์“ฐ๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋„๋ก ํ•ด์•ผ๊ฒ ๋„ค์š”.

Share on

snack
WRITTEN BY
snack
Web Programmer


What's on this Page