๐ŸŽ‡ HTTP ์ƒํƒœ์ฝ”๋“œ ์†Œ๊ฐœ (100,200,300,400,500)

leehyunjuยท2021๋…„ 6์›” 3์ผ
0

๋„คํŠธ์›Œํฌ

๋ชฉ๋ก ๋ณด๊ธฐ
9/14
post-thumbnail

์•ˆ๋…•ํ•˜์„ธ์š” ์˜ค๋Š˜์€ HTTP์˜ ์ƒํƒœ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค :)

๐ŸŽˆHTTP ์ƒํƒœ์ฝ”๋“œ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์˜ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ ์‘๋‹ต์—์„œ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ

100: ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์–ด ์ฒ˜๋ฆฌ์ค‘. ์‚ฌ์‹ค ์ด๊ฒƒ์€ ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.
200: ์š”์ฒญ ์ •์ƒ ์ฒ˜๋ฆฌ
300(Redirection): ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๋ ค๋ฉด ์ถ”๊ฐ€ ํ–‰๋™์ด ํ•„์š”. ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.
400: ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜, ์ž˜๋ชป๋œ ๋ฌธ๋ฒ•๋“ฑ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Œ
. ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์‚ฌ๋žŒ์ด ์ž˜๋ชปํ•œ๊ฑด๋‹ค.
500: ์„œ๋ฒ„ ์˜ค๋ฅ˜, ์„œ๋ฒ„๊ฐ€ ์ •์ƒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•จ
์„œ๋ฒ„ ๋‚ด์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฒƒ.

๐ŸŽˆ๋งŒ์•ฝ ๋ชจ๋ฅด๋Š” ์ƒํƒœ ์ฝ”๋“œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด?

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋ฉด?
  • ํด๋ผ์ด์–ธํŠธ๋Š” ์ƒ์œ„ ์ƒํƒœ์ฝ”๋“œ๋กœ ํ•ด์„ํ•ด์„œ ์ฒ˜๋ฆฌ (200๋Œ€, 300๋Œ€, 400๋Œ€ ๋“ฑ๋“ฑ)
  • ๋ฏธ๋ž˜์— ์ƒˆ๋กœ์šด ์ƒํƒœ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด๋„ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•„๋„ ๋จ
(์˜ˆ)
- 299 ??? -> 2xx (์„ฑ๊ณต)
- 451 ??? -> 4xx (ํด๋ผ์ด์–ธํŠธ ์—๋Ÿฌ)
- 599 ??? -> 5xx (์„œ๋ฒ„์—๋Ÿฌ)

โœจ 1xx (์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์–ด ์ฒ˜๋ฆฌ์ค‘)

๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ƒ๋žต

โœจ 2xx (์„ฑ๊ณต)

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ

  • 200 OK
  • 201 Created
  • 202 Accepted
  • 204 No Content

201 Created (์š”์ฒญ ์„ฑ๊ณตํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ)

์ƒ์„ฑ๋œ ๋ฆฌ์†Œ์Šค๋Š” ์‘๋‹ต์˜ Location ํ—ค๋” ํ•„๋“œ๋กœ ์‹๋ณ„ํ•œ๋‹ค.
๊ทธ๋Ÿผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๊ณ  ์•„ ์ด๊ฑด 200๋Œ€๋‹ˆ๊นŒ ์„ฑ๊ณตํ–ˆ๊ตฌ๋‚˜, 201์ด๋ฉด Location ํ—ค๋”๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๊ตฌ๋‚˜ ๋ผ๊ณ  ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค.

202 Accepted(์š”์ฒญ์ด ์ ‘์ˆ˜๋˜์—ˆ์œผ๋‚˜ ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Œ)

  • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ๊ฐ™์€ ๊ณณ์—์„œ ์‚ฌ์šฉ
    (์˜ˆ) ์š”์ฒญ ์ ‘์ˆ˜ ํ›„ 1์‹œ๊ฐ„ ๋’ค์— ๋ฐฐ์น˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•จ

204 No Content (์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ–ˆ์ง€๋งŒ, ์‘๋‹ต ํŽ˜์ด๋กœ๋“œ ๋ณธ๋ฌธ์— ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Œ)

  • (์˜ˆ) ์›น ๋ฌธ์„œ ํŽธ์ง‘๊ธฐ์—์„œ save ๋ฒ„ํŠผ
  • save ๋ฒ„ํŠผ์˜ ๊ฒฐ๊ณผ๋กœ ์•„๋ฌด ๋‚ด์šฉ์ด ์—†์–ด๋„ ๋œ๋‹ค.
  • save ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋„ ๊ฐ™์€ ํ™”๋ฉด์„ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค.
  • ๊ฒฐ๊ณผ ๋‚ด์šฉ์ด ์—†์–ด๋„ 204 ๋ฉ”์‹œ์ง€(2xx)๋งŒ์œผ๋กœ ์„ฑ๊ณต์„ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ ํŒ€์—์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์žก๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ฑฐ์˜ 200์—์„œ 201๊นŒ์ง€๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.

โœจ 3xx (Redirection)

์š”์ฒญ์„ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด ์œ ์ € ์—์ด์ „ํŠธ์˜ ์ถ”๊ฐ€ ์กฐ์น˜ ํ•„์š”

์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ์œ ์ € ์—์ด์ „ํŠธ๋Š” ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ, ์ฃผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋งํ•œ๋‹ค.

  • 300 Multiple Choices : ๊ฑฐ์˜ ์•ˆ์“ด๋‹ค. 301๋ถ€ํ„ฐ 308๊นŒ์ง€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.
  • 301 Moved Permanently : ๊ฒฝ๋กœ๊ฐ€ ์ด๋™ํ–ˆ์–ด
  • 302 Found
  • 303 See Other
  • 304 Not Modified
  • 307 Temporary Redirect
  • 308 Permanent Redirect

๐ŸŽจ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ดํ•ด

์›น ๋ธŒ๋ผ์šฐ์ €๋Š” 3xx ์‘๋‹ต์˜ ๊ฒฐ๊ณผ์— Location ํ—ค๋”๊ฐ€ ์žˆ์œผ๋ฉด, Location ์œ„์น˜๋กœ ์ž๋™ ์ด๋™ (๋ฆฌ๋‹ค์ด๋ ‰ํŠธ)

์ด๋ฒคํŠธ ํŽ˜์ด์ง€๊ฐ€ ์žˆ๋Š”๋ฐ new-event๋กœ ํ•˜๊ธฐ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ๊ทธ๋Ÿผ /event๋ฅผ ์„œ๋ฒ„์— ์š”์ฒญํ–ˆ์„ ๋•Œ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ 301์„ ์‘๋‹ตํ•ด์ค€๋‹ค. (Moved Permanently ์˜์›ํžˆ ๊ฒฝ๋กœ๊ฐ€ ์ด๋™ํ–ˆ๋‹ค.)๋ผ๋Š” ๋œป

๊ทธ๋Ÿฌ๋ฉด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธํ•œํ…Œ 301์ด๋ผ๋Š” ์‘๋‹ต๊ณผ ๋™์‹œ์— Location: /new-event๋ฅผ ์ค€๋‹ค.
์ด๋ ‡๊ฒŒ ์ž๋™ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๊ฐ€ ๋˜๋ฉด์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„ํ•œํ…Œ /new-event๋ฅผ ์š”์ฒญํ•˜๊ณ  ์„œ๋ฒ„๋Š” ์ด๊ฑฐ์— ๋Œ€ํ•œ 200 OK ์„ฑ๊ณต ๋ฉ”์‹œ์ง€๋ฅผ ์‘๋‹ตํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ์ด๊ฒŒ ๋„ˆ๋ฌด ๋นจ๋ผ์„œ ๋ฐ”๋€์ง€๋„ ์ธ์‹์„ ๋ชปํ•œ๋‹ค.

์ข…๋ฅ˜

  • ์˜๊ตฌ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ : ํŠน์ • ๋ฆฌ์†Œ์Šค์˜ URI๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์ด๋™
์˜ˆ)
/members -> /users
/event -> /new-event
  • ์ผ์‹œ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ : ์ผ์‹œ์ ์ธ ๋ณ€๊ฒฝ
    - ์ฃผ๋ฌธ ์™„๋ฃŒ ํ›„ ์ฃผ๋ฌธ ๋‚ด์—ญ ํ™”๋ฉด์œผ๋กœ ์ด๋™

    • PRG : Post/Redirect/Get (์ž์ฃผ์“ฐ๋Š” ํŒจํ„ด)
  • ํŠน์ˆ˜ ๋ฆฌ๋‹ค์ด๋ ‰์…˜
    - ๊ฒฐ๊ณผ ๋Œ€์‹  ์บ์‹œ๋ฅผ ์‚ฌ์šฉ

์˜๊ตฌ ๋ฆฌ๋‹ค์ด๋ ‰์…˜์€ 301๊ณผ 308 ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • ๋ฆฌ์†Œ์Šค์˜ URI๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์ด๋™
  • ์›๋ž˜์˜ URL์„ ์‚ฌ์šฉ X, ๊ฒ€์ƒ‰ ์—”์ง„ ๋“ฑ์—์„œ๋„ ๋ณ€๊ฒฝ ์ธ์ง€

301 Moved Permanently

  • ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ๊ฐ€ GET์œผ๋กœ ๋ณ€ํ•˜๊ณ , ๋ณธ๋ฌธ์ด ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ๋‹ค.

308 Permanent Redirect

  • 301๊ณผ ๊ธฐ๋Šฅ์€ ๊ฐ™์Œ
  • ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ์™€ ๋ณธ๋ฌธ ์œ ์ง€ (์ฒ˜์Œ POST๋ฅผ ๋ณด๋‚ด๋ฉด ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋œ๋‹ค)

์„œ๋ฒ„์—์„œ ์š”์ฒญ์„ ํ•œ๋‹ค. POST /event HTTP/1.1
301๋กœ ์‘๋‹ต์ฝ”๋“œ๋ฅผ ๋ฐ›๊ณ , ์ž๋™ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋กœ /new-event๋กœ GET์œผ๋กœ ๋ณด๋‚ธ๋‹ค.
๊ทธ๋Ÿผ ๋ฉ”์‹œ์ง€ ์‘๋‹ต์—์„œ๋Š” ๋ณธ๋ฌธ์ด ์ฃ„๋‹ค ์‚ญ์ œ ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

308์˜ ๊ฒฝ์šฐ 301๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์ž๋™ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๊ฐ€ ๋˜์–ด์„œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ๋•Œ๋Š” POST๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ณด๋‚ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ๋„ ์œ ์ง€ํ•ด์„œ ์˜จ๋‹ค. ๊ฑฐ์˜ ์‹ค๋ฌด์—์„œ๋Š” 301์„ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค.

๐ŸŽจ ์ผ์‹œ์ ์ธ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ (302, 307, 303) ์‹ค๋ฌด์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

  • ๋ฆฌ์†Œ์Šค์˜ URI๊ฐ€ ์ผ์‹œ์ ์œผ๋กœ ๋ณ€๊ฒฝ

  • ๋”ฐ๋ผ์„œ ๊ฒ€์ƒ‰ ์—”์ง„ ๋“ฑ์—์„œ URL์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์•ˆ๋จ

  • 302 Found
    - ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ๊ฐ€ GET์œผ๋กœ ๋ณ€ํ•˜๊ณ , ๋ณธ๋ฌธ์ด ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ์Œ

  • 307 Temporary Redirect
    - 302์™€ ๊ธฐ๋Šฅ์€ ๊ฐ™์Œ

    • ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ์™€ ๋ณธ๋ฌธ ์œ ์ง€(์š”์ฒญ ๋ฉ”์„œ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์•ˆ๋œ๋‹ค Must Not)
  • 303 See Other
    - 302์™€ ๊ธฐ๋Šฅ์€ ๊ฐ™์Œ

    • ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ๊ฐ€ GET์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

๐ŸŽจ PRG: Post / Redirect / Get

์ผ์‹œ์ ์ธ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ - ์˜ˆ์‹œ

Q. POST๋กœ ์ฃผ๋ฌธํ›„์— ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด?

=> ์ƒˆ๋กœ๊ณ ์นจ์€ ๋‹ค์‹œ ์š”์ฒญ
=> ์ค‘๋ณต ์ฃผ๋ฌธ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ PRG๊ฐ€ ๋‚˜์˜จ ๊ฒƒ์ด๋‹ค. (์ผ์‹œ์ ์ธ ๋ฆฌ๋‹ค์ด๋ ‰์…˜)

  • POST๋กœ ์ฃผ๋ฌธํ›„์— ์ƒˆ๋กœ ๊ณ ์นจ์œผ๋กœ ์ธํ•œ ์ค‘๋ณต ์ฃผ๋ฌธ ๋ฐฉ์ง€
  • POST๋กœ ์ฃผ๋ฌธํ›„์— ์ฃผ๋ฌธ ๊ฒฐ๊ณผ ํ™”๋ฉด์„ GET ๋ฉ”์„œ๋“œ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ
  • ์ƒˆ๋กœ๊ณ ์นจํ•ด๋„ ๊ฒฐ๊ณผ ํ™”๋ฉด์„ GET์œผ๋กœ ์กฐํšŒ
  • ์ค‘๋ณต ์ฃผ๋ฌธ ๋Œ€์‹ ์— ๊ฒฐ๊ณผ ํ™”๋ฉด๋งŒ GET์œผ๋กœ ๋‹ค์‹œ ์š”์ฒญ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ /order๋ฅผ ํ•˜๋ฉด ์„œ๋ฒ„์—์„œ Location: /order-result/19 ๋ฅผ ์‘๋‹ตํ•ด์ค€๋‹ค.(302)
๊ทธ๋ฆฌ๊ณ  ์ž๋™ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋ฅผ ํ•˜์—ฌ GET ์œผ๋กœ ๋ฐ”๊ฟ”์„œ /order-result/19๋ฅผ ๋ณด๋‚ธ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด 19๋ฒˆ ์ฃผ๋ฌธ์„ ์ฃผ๋ฌธ๋ฐ์ดํ„ฐ ์กฐํšŒ๋ฅผ ํ•˜์—ฌ HTML ํ™”๋ฉด์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  200 OK๋ฅผ ๋งŒ๋“ ๋‹ค.
์ด๋ ‡๊ฒŒ ์ค‘๋ณต ์ฃผ๋ฌธ์„ ํ•ด๊ฒฐํ•ด์ค€๋‹ค.

PRG: Post / Redirect / Get ์˜ˆ์‹œ

  • PRG ์ดํ›„ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ
    - URL์ด ์ด๋ฏธ POST -> GET ์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋œ๋‹ค.
    • ์ƒˆ๋กœ ๊ณ ์นจ ํ•ด๋„ GET์œผ๋กœ ๊ฒฐ๊ณผ ํ™”๋ฉด๋งŒ ์กฐํšŒํ•œ๋‹ค.

๐ŸŽจ ๊ทธ๋ž˜์„œ ๋ญ˜ ์จ์•ผ ํ•˜๋‚˜์š” ? 302, 307, 303 ์ค‘์—

  • 302 Found -> GET์œผ๋กœ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 307 Temporary Redirect -> ๋ฉ”์„œ๋“œ๊ฐ€ ๋ณ€ํ•˜๋ฉด ์•ˆ๋œ๋‹ค.
  • 303 See Other -> ๋ฉ”์„œ๋“œ๊ฐ€ GET์œผ๋กœ ๋ณ€๊ฒฝ

์—ญ์‚ฌ

  • ์ฒ˜์Œ 302 ์ŠคํŽ™์˜ ์˜๋„๋Š” HTTP ๋ฉ”์„œ๋“œ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ
  • ๊ทธ๋Ÿฐ๋ฐ ์›น ๋ธŒ๋ผ์šฐ์ €๋“ค์ด ๋Œ€๋ถ€๋ถ„ GET์œผ๋กœ ๋ฐ”๊พธ์–ด ๋ฒ„๋ฆฐ๋‹ค. (์ผ๋ถ€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘)
  • ๊ทธ๋ž˜์„œ ๋ชจํ˜ธํ•œ 302๋ฅผ ๋Œ€์‹ ํ•˜๋Š” ๋ช…ํ™•ํ•œ 307, 303์ด ๋“ฑ์žฅํ•œ๋‹ค.
    (301 ๋Œ€์‘์œผ๋กœ 308๋„ ๋“ฑ์žฅํ•œ๋‹ค)

ํ˜„์‹ค

  • 307, 303์„ ๊ถŒ์žฅํ•˜์ง€๋งŒ ํ˜„์‹ค์ ์œผ๋กœ ์ด๋ฏธ ๋งŽ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด 302๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ž๋™ ๋ฆฌ๋‹ค์ด๋ ‰์…˜์‹œ์— GET์œผ๋กœ ๋ณ€ํ•ด๋„ ๋˜๋ฉด ๊ทธ๋ƒฅ 302๋ฅผ ์‚ฌ์šฉํ•ด๋„ ํฐ ๋ฌธ์ œ ์—†๋‹ค.

๐ŸŽจ ๊ธฐํƒ€ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ (300, 304)

  • 300 Multiple Choices : ์•ˆ์“ด๋‹ค
  • 304 Not Modified โœจ ์ด๊ฒŒ ์ง„์งœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•จ !!
    - ์บ์‹œ๋ฅผ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
    • ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์Œ์„ ์•Œ๋ ค์ค€๋‹ค. ๋”ฐ๋ผ์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ๋กœ์ปฌ PC์— ์ €์žฅ๋œ ์บ์‹œ๋ฅผ ์žฌ์‚ฌ์šฉํ•œ๋‹ค. (์บ์‹œ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํ•œ๋‹ค)
    • 304 ์‘๋‹ต์€ ์‘๋‹ต์— ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํฌํ•จํ•˜๋ฉด ์•ˆ๋œ๋‹ค. (๋กœ์ปฌ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฏ€๋กœ)
    • ์กฐ๊ฑด๋ถ€ GET, HEAD ์š”์ฒญ์‹œ ์‚ฌ์šฉ

์˜ค๋ฅ˜

๐ŸŽจ 4XX (ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜)

  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์ž˜๋ชป๋œ ๋ฌธ๋ฒ•๋“ฑ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Œ
  • ์˜ค๋ฅ˜์˜ ์›์ธ์ด ํด๋ผ์ด์–ธํŠธ์— ์žˆ๋‹ค.
  • ๐ŸŽ‡์ค‘์š”!๐ŸŽ‡ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด๋ฏธ ์ž˜๋ชป๋œ ์š”์ฒญ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋˜‘๊ฐ™์€ ์žฌ์‹œ๋„๊ฐ€ ์‹คํŒจํ•œ๋‹ค.

400 Bad Request (ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž˜๋ชป๋œ ์š”์ฒญ์„ ํ•ด์„œ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Œ)

  • ์š”์ฒญ ๊ตฌ๋ฌธ, ๋ฉ”์‹œ์ง€ ๋“ฑ๋“ฑ ์˜ค๋ฅ˜
  • ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ ๋‚ด์šฉ์„ ๋‹ค์‹œ ๊ฒ€ํ† ํ•˜๊ณ , ๋ณด๋‚ด์•ผํ•œ๋‹ค.
  • ์˜ˆ) ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ž˜๋ชป๋˜๊ฑฐ๋‚˜, API ์ŠคํŽ™์ด ๋งž์ง€ ์•Š์„ ๋•Œ

401 Unauthorized (ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ธ์ฆ์ด ํ•„์š”ํ•˜๋‹ค)

  • ์ธ์ฆ๋˜์ง€ ์•Š์Œ

  • 401 ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ์‘๋‹ต์— WWW-Authenticate ํ—ค๋”์™€ ํ•จ๊ป˜ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…

  • ์ธ์ฆ(Authenticate) : ๋ณธ์ธ์ด ๋ˆ„๊ตฌ์ธ์ง€ ํ™•์ธ, (๋กœ๊ทธ์ธ)

  • ์ธ๊ฐ€(Authonticate) : ๊ถŒํ•œ๋ถ€์—ฌ (์–ด๋“œ๋ฏผ ๊ถŒํ•œ์ฒ˜๋Ÿผ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ, ์ธ์ฆ์ด ์žˆ์–ด์•ผ ์ธ๊ฐ€๊ฐ€ ์žˆ๋‹ค)

  • ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ Unauthorized ์ด์ง€๋งŒ ์ธ์ฆ ๋˜์ง€ ์•Š์Œ (์ด๋ฆ„์ด ์•„์‰ฌ์›€)

403 Forbidden (์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ดํ•ดํ–ˆ์ง€๋งŒ ์Šน์ธ์„ ๊ฑฐ๋ถ€ํ•จ)

  • ์ฃผ๋กœ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์€ ์žˆ์ง€๋งŒ, ์ ‘๊ทผ ๊ถŒํ•œ์ด ๋ถˆ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ
  • ์˜ˆ) ์–ด๋“œ๋ฏผ ๋“ฑ๊ธ‰์ด ์•„๋‹Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ์€ ํ–ˆ์ง€๋งŒ, ์–ด๋“œ๋ฏผ ๋“ฑ๊ธ‰์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ

404 Not Found (์š”์ฒญ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ)

  • ์š”์ฒญ ๋ฆฌ์†Œ์Šค๊ฐ€ ์„œ๋ฒ„์— ์—†์Œ
  • ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ถŒํ•œ์ด ๋ถ€์กฑํ•œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ๋•Œ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๋ฅผ ์ˆจ๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ

๐ŸŽจ 5XX (์„œ๋ฒ„ ์˜ค๋ฅ˜)

  • ์„œ๋ฒ„ ๋ฌธ์ œ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
  • ์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์žฌ์‹œ๋„ ํ•˜๋ฉด ์„ฑ๊ณตํ•  ์ˆ˜๋„ ์žˆ์Œ(๋ณต๊ตฌ๊ฐ€ ๋˜๊ฑฐ๋‚˜ ๋“ฑ๋“ฑ)

500 Internal Server Error (์„œ๋ฒ„ ๋ฌธ์ œ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ, ์• ๋งคํ•˜๋ฉด 500 ์˜ค๋ฅ˜)

  • ์„œ๋ฒ„ ๋‚ด๋ถ€ ๋ฌธ์ œ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
  • ์• ๋งคํ•˜๋ฉด 500 ์˜ค๋ฅ˜

503 Service Unavailable (์„œ๋น„์Šค ์ด์šฉ๋ถˆ๊ฐ€)

  • ์„œ๋ฒ„๊ฐ€ ์ผ์‹œ์ ์ธ ๊ณผ๋ถ€ํ•˜ ๋˜๋Š” ์˜ˆ์ •๋œ ์ž‘์—…์œผ๋กœ ์ž ์‹œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Œ
  • Retry-After ํ—ค๋” ํ•„๋“œ๋กœ ์–ผ๋งˆ๋’ค์— ๋ณต๊ตฌ๋˜๋Š”์ง€ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ์Œ

๐Ÿ’Ž ๊ทผ๋ฐ ๋Œ€๋ถ€๋ถ„ ๊ทธ๋ƒฅ ๋ฐ”๋กœ 500์ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

5xx ์—๋Ÿฌ๋Š” ์™ ๋งŒํ•˜๋ฉด ์„œ๋ฒ„์—์„œ๋Š” 500๋Œ€๋ฅผ ๋งŒ๋“ค๋ฉด ์•ˆ๋œ๋‹ค. ์„œ๋ฒ„์˜ ๋ฌธ์ œ๊ฐ€ ํ„ฐ์กŒ์„ ๋•Œ๋งŒ 500๋Œ€๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

profile
์•„๋Š‘ํ•œ ๋‡Œ๊ณต๊ฐ„ ๐Ÿง 

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