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 ์ด๋ฏ๋ก ์์ฒญ์ด ์ ์ ์ฒ๋ฆฌ ๋์๊ตฌ๋ ํ๋ฉด ๋ฉ๋๋ค!
'๐ป Computer Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
08. HTTP ์น ๊ธฐ๋ณธ ์ง์ - ์บ์ ๊ธฐ๋ณธ ๋์ (0) | 2021.05.06 |
---|---|
07. HTTP ์น ๊ธฐ๋ณธ ์ง์ - HTTP ํค๋ ๊ฐ์ (0) | 2021.05.06 |
05. HTTP ์น ๊ธฐ๋ณธ ์ง์ - ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ๋ฐ์ดํฐ ์ ์ก (0) | 2021.05.04 |
04. HTTP ์น ๊ธฐ๋ณธ ์ง์ - HTTP API (0) | 2021.05.03 |
03. HTTP ์น ๊ธฐ๋ณธ ์ง์ - ๋ชจ๋ ๊ฒ์ด HTTP (0) | 2021.05.03 |