๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Back-end

[HTTP] ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ์ •๋ฆฌ

๋ฐ˜์‘ํ˜•

HTTP ์ƒํƒœ ์ฝ”๋“œ

HTTP ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋Š” ํŠน์ • HTTP ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค. ์‘๋‹ต์€ 5๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • 1XX : ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‘๋‹ต
  • 2XX : ์„ฑ๊ณต์ ์ธ ์‘๋‹ต
  • 3XX : ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ
  • 4XX : ํด๋ผ์ด์–ดํŠผ ์—๋Ÿฌ
  • 5XX : ์„œ๋ฒ„์—๋Ÿฌ

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

1XX: ์กฐ๊ฑด๋ถ€ ์‘๋‹ต

์ „์†ก ํ”„๋กœํ† ์ฝœ ์ˆ˜์ค€์˜ ์ •๋ณด ๊ตํ™˜

100 Continue(๊ณ„์†)

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

101 Switching Protocol(ํ”„๋กœํ† ์ฝœ ์ „ํ™˜)

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ Upgrade ์š”์ฒญ ํ—ค๋”์— ๋Œ€ํ•œ ์‘๋‹ต์— ๋“ค์–ด๊ฐ€๋ฉฐ ์„œ๋ฒ„์—์„œ ํ”„๋กœํ† ์ฝœ์„ ๋ณ€๊ฒฝํ•  ๊ฒƒ์ž„์„ ์•Œ๋ ค์ค€๋‹ค.

102 Processing(์ฒ˜๋ฆฌ, WebDAV)

์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜์˜€์œผ๋ฉฐ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์•„์ง ์ œ๋Œ€๋กœ ๋œ ์‘๋‹ต์„ ์•Œ๋ ค์ค„ ์ˆ˜ ์—†์Œ์„ ์•Œ๋ ค์ค€๋‹ค.

103 Early Hints(์‚ฌ์ „ ๋„์›€)

์ฃผ๋กœ Link ํ—ค๋”์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ์ค€๋น„ํ•˜๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๊ฐ€ ์‚ฌ์ „ ๋กœ๋”ฉ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

2XX: ์„ฑ๊ณต

200 OK(์„ฑ๊ณต)

์š”์ฒญ์ด ์„ฑ๊ณต์ ์ด๊ณ  ์„ฑ๊ณต์˜ ์˜๋ฏธ๋Š” HTTP ๋ฉ”์†Œ๋“œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.
GET: ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์— ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
HEAD: ๊ฐœ์ฒด ํ•ด๋”๊ฐ€ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์— ์žˆ์Šต๋‹ˆ๋‹ค.
PUT ๋˜๋Š” POST: ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์— ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
TRACE: ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋Š” ์„œ๋ฒ„์—์„œ ์ˆ˜์‹ ํ•œ ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

201 Created(์ž‘์„ฑ๋จ)

์š”์ฒญ์ด ์„ฑ๊ณต์ ์ด์—ˆ์œผ๋ฉฐ ๊ทธ ๊ฒฐ๊ณผ๋กœ ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค. ์ด ์‘๋‹ต์€ ์ผ๋ฐ˜์ ์œผ๋กœ POST ์š”์ฒญ ๋˜๋Š” ์ผ๋ถ€ PUT ์š”์ฒญ ์ดํ›„์— ๋”ฐ๋ผ์˜จ๋‹ค.

202 Accepted(ํ—ˆ์šฉ๋จ)

์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜์˜€์ง€๋งŒ ๊ทธ์— ์‘ํ•˜์—ฌ ํ–‰๋™ํ•  ์ˆ˜ ์—†๋‹ค. ์ด ์‘๋‹ต์€ ์š”์ฒญ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ดํ›„์— HTTP๋กœ ๋น„๋™๊ธฐ ์‘๋‹ต์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—์„œ ์ฒ˜๋ฆฌ ๋˜๋Š” ์„œ๋ฒ„๊ฐ€ ์š”์ฒ˜์‘ใ„น ๋‹ค๋ฃจ๊ณ  ์žˆ๊ฑฐ๋‚˜ ๋ฐฐ์น˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด ๋งŒ๋“ค์–ด ์กŒ๋‹ค. ์ฆ‰ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ ‘์ˆ˜ํ–ˆ์ง€๋งŒ ์•„์ง ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์•˜๋‹ค๋Š”๊ฒƒ์ด๋‹ค.

203 Non-Authoritative Information(์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ •๋ณด)

๋Œ๋ ค๋ฐ›์€ ๋ฉ”ํƒ€ ์ •๋ณด ์„ธํŠธ๊ฐ€ ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„์˜ ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์ง€๋งŒ ๋กœ์ปฌ์ด๋‚˜ ์„œ๋“œ ํŒŒํ‹ฐ ๋ณต์‚ฌ๋ณต์—์„œ ๋ชจ์•„์กŒ์Œ์„ ์˜๋ฏธ. ์ด๋Ÿฌํ•œ ์กฐ๊ฑด์—์„œ๋Š” ์ด ์‘๋‹ต์ด ์•„๋‹ˆ๋ผ 200 OK ์‘๋‹ต์„ ๋ฐ˜๋“œ์‹œ ์šฐ์„ ๋œ๋‹ค.

204 No Content(๋‚ด์šฉ์—†์Œ)

์š”์ฒญ์— ๋Œ€ํ•ด์„œ ๋ณด๋‚ด์ค„ ์ˆ˜ ์žˆ๋Š” ์ฝ˜ํ…์ธ ๊ฐ€ ์—†์ง€๋งŒ, ํ—ค๋”๋Š” ์˜๋ฏธ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž-์—์ด์ „ํŠธ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์บ์‹œ ๋œ ํ—ค๋”๋ฅผ ์ƒˆ๋กœ์šด ๊ฒƒ์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

3XX ๋ฆฌ๋‹ค์ด๋ ‰์…˜

301 Moved Permanently(์˜๊ตฌ์  ์ด๋™)

์ด ์‘๋‹ต ์ฝ”๋“œ๋Š” ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค์˜ URI๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์ƒˆ๋กœ์šด URI๊ฐ€ ์‘๋‹ต์—์„œ ์•„๋งˆ๋„ ์ฃผ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

304 Not Modified(๋ณ€๊ฒฝ ์—†์Œ)

์ด๊ฒƒ์€ ์บ์‹œ๋ฅผ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์ด๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต์ด ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์Œ์„ ์•Œ๋ ค์ฃผ๋ฉฐ, ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ๊ณ„์†ํ•ด์„œ ์‘๋‹ต์˜ ์บ์‹œ ๋œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

4xx ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜

400 Bad Request(์ž˜๋ชป๋œ ์š”์ฒญ)

์ด ์‘๋‹ต์€ ์ž˜๋ชป๋œ ๋ฌธ๋ฒ•์œผ๋กœ ์ธํ•˜์—ฌ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ดํ•ดํ•  ์ˆ˜ ์—†์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

401 Unauthorized(๊ถŒํ•œ ์—†์Œ)

๋น„๋ก HTTP ํ‘œ์ค€์—์„œ๋Š” "๋ฏธ์Šน์ธ(unauthorized)"๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์˜๋ฏธ์ƒ ์ด ์‘๋‹ต์€ "๋น„์ธ์ฆ(unauthenticated)"์„ ์˜๋ฏธํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญํ•œ ์‘๋‹ต์„ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์Šค์Šค๋กœ๋ฅผ ์ธ์ฆํ•ด์•ผ ํ•œ๋‹ค. ๋กœ๊ทธ์ธ์„ ์‹คํŒจํ•œ ๊ฒฝ์šฐ ๋˜๋Š” ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํšŒ์›์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

403 Forbidden(์ ‘๊ทผ ๊ธˆ์ง€)

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฝ˜ํ…์ธ ์— ์ ‘๊ทผํ•  ๊ถŒ๋ฆฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ํšŒ์›์ด ๋กœ๊ทธ์ธ์„ ํ•œ ์ƒํƒœ์ด์ง€๋งŒ ์•„์ง ๊ฒฐ์ œ๋ฅผ ํ•˜์ง€ ์•Š์•„ Netflix๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์ด๋‹ค. 401๊ณผ ๋‹ค๋ฅธ ์ ์€ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ์•Œ๊ณ  ์žˆ๋‹ค.

404 Not Found(์ฐพ์„ ์ˆ˜ ์—†์Œ)

์„œ๋ฒ„๊ฐ€ ์š”์ฒญ๋ฐ›์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์•Œ๋ ค์ง€์ง€ ์•Š์€ URL์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๊ฒƒ์€ API์—์„œ ์ข…์ (URI)์€ ์ ์ ˆํ•˜์ง€๋งŒ ๋ฆฌ์†Œ์Šค ์ž์ฒด๋Š” ์กด์žฌํ•˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์„œ๋ฒ„๋“ค์€ ์ธ์ฆ๋ฐ›์ง€ ์•Š์€ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ์ˆจ๊ธฐ๊ธฐ ์œ„ํ•˜์—ฌ ์ด ์‘๋‹ต์„ 403 ๋Œ€์‹ ์— ์ „์†กํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ์‘๋‹ต ์ฝ”๋“œ๋Š” ์›น์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ์œ ๋ช…ํ• ์ง€๋„ ๋ชจ๋ฅธ๋‹ค.

405 Method Not Allowed(ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ๋ฉ”์„œ๋“œ)

์š”์ฒญ์— ์ง€์ •๋œ ๋ฉ”์„œ๋“œ๊ฐ€ URI๋กœ ํ‘œ์‹œ๋œ ๋ฆฌ์†Œ์Šค์— ํ—ˆ์šฉ๋˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•œ๋‹ค.
์ด๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฌธ์„œ ์กฐํšŒ๋งŒ ์ œ๊ณตํ•˜๋Š” ์ปฌ๋ ‰์…˜์— POST, PUT ๋˜๋Š” DELETE๋ฅผ ์ „์†กํ•ด ์ปฌ๋ ‰์…˜์„ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ  ํ•˜๋Š” ๊ฒฝ์šฐ์ผ ์ˆ˜ ์žˆ๋‹ค.

408 Request Timeout(์š”์ฒญ ์‹œ๊ฐ„ ์ดˆ๊ณผ)

์ด ์‘๋‹ต์€ ์š”์ฒญ์„ ํ•œ์ง€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๋œ ์—ฐ๊ฒฐ์— ์ผ๋ถ€ ์„œ๋ฒ„๊ฐ€ ์ „์†กํ•˜๋ฉฐ, ์–ด๋–จ ๋•Œ์—๋Š” ์ด์ „์— ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์–ด๋– ํ•œ ์š”์ฒญ์ด ์—†์—ˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๋ณด๋‚ด์ง€๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์—ฐ๊ฒฐ์„ ๋Š๊ณ  ์‹ถ์–ด ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด ์‘๋‹ต์€ ํŠน์ • ๋ช‡๋ช‡ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ณด์ด๋Š”๋ฐ, Chrome, Firefox 27+, ๋˜๋Š” IE9์™€ ๊ฐ™์€ ์›น์„œํ•‘ ์†๋„๋ฅผ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด HTTP ์‚ฌ์ „ ์—ฐ๊ฒฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋“ค์ด ํ•ด๋‹น๋œ๋‹ค. ๋˜ํ•œ, ์ผ๋ถ€ ์„œ๋ฒ„๋Š” ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.

5xx ์„œ๋ฒ„ ์˜ค๋ฅ˜

500(๋‚ด๋ถ€ ์„œ๋ฒ„ ์˜ค๋ฅ˜)

์„œ๋ฒ„์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค.

501(๊ตฌํ˜„๋˜์ง€ ์•Š์Œ)

์„œ๋ฒ„์— ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์—†๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ ๋ฉ”์†Œ๋“œ๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•  ๋•Œ ์ด ์ฝ”๋“œ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

502 (Bad Gateway, ๋ถˆ๋Ÿ‰ ๊ฒŒ์ดํŠธ์›จ์ด)

์„œ๋ฒ„๊ฐ€ ๊ฒŒ์ดํŠธ์›จ์ด๋‚˜ ํ”„๋ก์‹œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๊ฑฐ๋‚˜ ๋˜๋Š” ์—…์ŠคํŠธ๋ฆผ ์„œ๋ฒ„์—์„œ ์ž˜๋ชป๋œ ์‘๋‹ต์„ ๋ฐ›์•˜๋‹ค.

503(์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ)

์„œ๋ฒ„๊ฐ€ ์˜ค๋ฒ„๋กœ๋“œ๋˜์—ˆ๊ฑฐ๋‚˜ ์œ ์ง€๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋‹ค์šด๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋Š” ๋Œ€๊ฐœ ์ผ์‹œ์ ์ธ ์ƒํƒœ์ด๋‹ค.

504(๊ฒŒ์ดํŠธ์›จ์ด ์‹œ๊ฐ„์ดˆ๊ณผ)

์„œ๋ฒ„๊ฐ€ ๊ฒŒ์ดํŠธ์›จ์ด๋‚˜ ํ”„๋ก์‹œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๊ฑฐ๋‚˜ ๋˜๋Š” ์—…์ŠคํŠธ๋ฆผ ์„œ๋ฒ„์—์„œ ์ œ๋•Œ ์š”์ฒญ์„ ๋ฐ›์ง€ ๋ชปํ–ˆ๋‹ค.

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

https://developer.mozilla.org/ko/docs/Web/HTTP/Status

๋ฐ˜์‘ํ˜•