์• ์ •์ฝ”๋”ฉ ๐Ÿ’ป

HTTP ์ƒํƒœ์ฝ”๋“œ๋ž€?

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

 

- 1xx (Informational) : ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์–ด ์ฒ˜๋ฆฌ์ค‘ ( ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ )

 

- 2xx (Successful) : ์š”์ฒญ ์ •์ƒ ์ฒ˜๋ฆฌ

  - 200 OK : ๊ฒฐ๊ณผ๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ ํ–ˆ๋‹ค.

  - 201 Created : ์š”์ฒญ ์„ฑ๊ณตํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋จ ( post ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ Location ์— ์ƒ์„ฑ๋œ ๋ฆฌ์†Œ์Šค์˜ url๋ฅผ ์‚ฝ์ž… )

  - 202 Accepted : ์š”์ฒญ์ด ์ ‘์ˆ˜๋˜์—ˆ์œผ๋‚˜ ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Œ -> ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ๊ฐ™์€๊ณณ์—์„œ ์‚ฌ์šฉ (์š”์ฒญ์„ ํ•˜๊ณ  ๋‚˜์ค‘์— ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ)  

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

 

- 3xx (Redirection) : ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๋ ค๋ฉด ์ถ”๊ฐ€ ํ–‰๋™์ด ํ•„์š”

๋ฆฌ๋‹ค์ด๋ ‰์…˜์ด ๋ญ˜๊นŒ?

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

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

  - 300 Multiple Choices ( ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ ) 

  - 301 Moved Permanaently -> Location: /new-event ๋ฅผ ๋„ฃ์–ด์ค˜์„œ ์ƒˆ๋กœ์šด ์œ„์น˜๋กœ ์ด๋™ํ•œ๋‹ค

    ์˜ˆ) ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ -> ์„œ๋ฒ„(์ด url์€ 301๋„ค Location : /new-event url๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ใ„ฑ)

                                                              -> ํด๋ผ์ด์–ธํŠธ (ใ…‡ใ…‹ ๋‹ค์‹œ ์š”์ฒญ) -> ์„œ๋ฒ„( 200 OK )

     - ์˜๊ตฌ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ - ํŠน์ • ๋ฆฌ์†Œ์Šค์˜ URI๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์ด๋™

        301(Moved Permanaently), 308 ( Permanaent Redirect ) ์›๋ž˜์˜ URL์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ, ๊ฒ€์ƒ‰ ์—”์ง„ ๋“ฑ์—์„œ๋„ ๋ณ€๊ฒฝ ์ธ์ง€.

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

        308์€ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ์™€ ๋ณธ๋ฌธ ์œ ์ง€ ( 301์ด ๋ณธ๋ฌธ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•ด์คŒ ) -> ํ•˜์ง€๋งŒ ๋ณดํ†ต 301์„ ์“ด๋‹ค

 

     - ์ผ์‹œ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ - ์ผ์‹œ์ ์ธ ๋ณ€๊ฒฝ -> ์ฃผ๋ฌธ ์™„๋ฃŒ ํ›„ ์ฃผ๋ฌธ ๋‚ด์—ญํ™”๋ฉด์œผ๋กœ ์ด๋™

        ์ผ์‹œ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰ ์—”์ง„ ๋“ฑ์—์„œ URL์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์•ˆ๋œ๋‹ค. 

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

        307 (Temprary Redirect): ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ์™€ ๋ณธ๋ฌธ ์œ ์ง€ ( ์š”์ฒญ ๋ฉ”์„œ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์•ˆ๋œ๋‹ค.)

        303 (See Other): ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œ ์š”์ฒญ ๋ฉ”์„œ๋“œ๊ฐ€ GET์œผ๋กœ ๋ณ€๊ฒฝ

 

์ผ์‹œ์  ๋ฆฌ๋‹ค์ด๋ ‰์…˜์€ ์–ด๋””์„œ ์‚ฌ์šฉ๋ ๊นŒ?

POST๋กœ ์ฃผ๋ฌธ์„ ํ–ˆ์„ ๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ์ด ๋˜๋ฉด POST๊ฐ€ ํ•œ๋ฒˆ ๋” ์š”์ฒญ ๋  ์ˆ˜ ์žˆ๋‹ค. -> ์ค‘๋ณต ์ฃผ๋ฌธ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

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

 

๋น„์Šทํ•œ ๊ธฐ๋Šฅ์ด ๋งŽ์€๋ฐ ์–ด๋–ค๊ฑธ ์จ์•ผํ• ๊นŒ?

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

 

     - ํŠน์ˆ˜ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ - ๊ฒฐ๊ณผ ๋Œ€์‹  ์บ์‹œ๋ฅผ ์‚ฌ์šฉ -> ํด๋ผ์ด์–ธํŠธ์˜ ์บ์‹œ๊ฐ€ ๋งŒ๋ฃŒ๋˜์–ด ์„œ๋ฒ„์—๊ฒŒ ์บ์‹œ ํ™•์ธ ์š”์ฒญ ํ•ด์คŒ

         - 304 Not Modified 

         ์บ์‹œ๋ฅผ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ

         ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์Œ์„ ์•Œ๋ ค์ค€๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ๋กœ์ปฌPC์— ์ €์žฅ๋œ ์บ์‹œ๋ฅผ ์žฌ์‚ฌ์šฉ! -> ์บ์‹œ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํ•œ๋‹ค.

         ๋กœ์ปฌ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‘๋‹ต ๋ฐ”๋””๋ฅผ ํฌํ•จํ•˜๋ฉด ์•ˆ๋œ๋‹ค.

         ์กฐ๊ฑด๋ถ€ GET, HEAD ์š”์ฒญ์‹œ ์‚ฌ์šฉํ•œ๋‹ค.

     ์˜ˆ๋ฅผ๋“ค์–ด

     ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž์‹ ์˜ ํŒŒ์ผ์˜ ์ˆ˜์ •์ •๋ณด๋ฅผ ์ฃผ๋ฉด์„œ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๊ณ  ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญํ•œ๋‹ค.

     ์„œ๋ฒ„๋Š” ํ•ด๋‹น ํŒŒ์ผ์˜ ์ˆ˜์ •์ •๋ณด๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Œ์„ ๊ฐ์ง€ํ•˜๊ณ  304 ์ฝ”๋“œ๋ฅผ ๋ณด๋‚ด์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ด๋‹น ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

 

 

 

 

- 4xx (Client Error) : ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜, ์ž˜๋ชป๋œ ๋ฌธ๋ฒ•๋“ฑ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Œ

์ค‘์š”ํ•œ๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด๋ฏธ ์ž˜๋ชป๋œ ์š”์ฒญ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์žฌ์‹œ๋„ ํ•ด๋„ ์‹คํŒจ

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

 

- 401 Unauthorized

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

์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ์‹œ ์‘๋‹ต์— WWW_Authenticate ํ—ค๋”์™€ ํ•จ๊ป˜ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

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

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

 

-> ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ Unauthorized ์ด์ง€๋งŒ ์ธ์ฆ ๋˜์ง€ ์•Š์Œ์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!

 

- 403 Forbiden

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

์ฃผ๋กœ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์€ ์žˆ์ง€๋งŒ, ์ ‘๊ทผ ๊ถŒํ•œ์ด ๋ถˆ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ

 

- 404 Not Found

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

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

 

- 5xx (Server Error) : ์„œ๋ฒ„ ์˜ค๋ฅ˜, ์ •์ƒ ์š”์ฒญ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•จ.

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

์„œ๋ฒ„ ๋ฌธ์ œ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

500 Internal Server Error

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

์„œ๋ฒ„์—์„œ ์ž„์˜๋กœ ์ƒ์„ฑํ•˜๋ฉด ์ข‹์ง€ ๋ชปํ•˜๋‹ค,, ์™œ๋ƒํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ์ง„์งœ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๋•Œ ๋‚ฌ๋‹ค๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•œ๋‹ค.

 

503 Service Unavailable

์„œ๋น„์Šค ์ด์šฉ ๋ถˆ๊ฐ€

์„œ๋ฒ„๊ฐ€ ์ผ์‹œ์ ์ธ ๊ณผ๋ถ€ํ™”, ์˜ˆ์ •๋œ ์ž‘์—…์œผ๋กœ ์ž ์‹œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Œ

์–ผ๋งˆ๋’ค์— ๋ณต๊ตฌ๋˜๋Š”์ง€ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ์Œ 

 

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„๊ฐ€ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

ํด๋ผ์ด์–ธํŠธ๋Š” ์ƒ์œ„ ์ƒํƒœ์ฝ”๋“œ๋กœ ํ•ด์„ํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 233 ์ด๋ผ๋Š” ์ƒํƒœ๋ชจ๋“œ๊ฐ€ ์˜จ๋‹คํ•ด๋„ 2xx ์ด๋ฏ€๋กœ ์š”์ฒญ์ด ์ •์ƒ ์ฒ˜๋ฆฌ ๋˜์—ˆ๊ตฌ๋‚˜ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!

 

 

 

 

๋ฐ˜์‘ํ˜•