HTTP ๋ฉ์์ง
HTTP ๋ฉ์์ง๋ HTTP ์ดํ๋ฆฌ์ผ์ด์
์ฌ์ด์ ์ฃผ๊ณ ๋ฐ์ ๋ฐ์ดํฐ๋ค์ด๋ค. ์ด ๋ฉ์์ง๋ ํด๋ผ์ด์ธํธ, ์๋ฒ, ํ๋ก์ ์ฌ์ด๋ฅผ ํ๋ฅธ๋ค.
๋ฉ์์ง ํ๋ฆ
- ์ธ๋ฐ์ด๋ : ๋ฉ์์ง๊ฐ ์๋ฒ๋ก ํฅํ๋ค.
- ์์๋ฐ์ด๋ : ์ฒ๋ฆฌ๊ฐ ๋๋ ๋ค ์ฌ์ฉ์์๊ฒ ๋์์จ๋ค.
- ๋ค์ด์คํธ๋ฆผ : ์์ฒญ, ์๋ต๊ณผ ๊ฐ์ ๋ชจ๋ ๋ฉ์์ง๋ ๋ค์ด์คํธ๋ฆผ์ผ๋ก ํ๋ฅธ๋ค.
- ์
์คํธ๋ฆผ : ๋ฉ์์ง์ ๋ฐ์ก์๋ ์์ ์์ ์
์คํธ๋ฆผ์ด๋ค.
๋ฉ์์ง
HTTP๋ ์์์ค, ํค๋, ๋ณธ๋ฌธ์ผ๋ก ์ด๋ค์ ธ์๋ค.
HTTP/1.0 200 OK //์์์ค
Content-Type : text/plain //ํค๋
Content-length: 19
HELLO WORLD // ๋ณธ๋ฌธ
๋ฉ์์ง ๋ฌธ๋ฒ
์์ฒญ
<๋ฉ์๋> <์์ฒญ URL> <๋ฒ์ >
<ํค๋>
<๋ณธ๋ฌธ>
์๋ต
<๋ฒ์ > <์ํ ์ฝ๋> <์ฌ์ ๊ตฌ์ >
<ํค๋>
<๋ณธ๋ฌธ>
์๋ต์ ๋ค์ด๊ฐ๋ ์ํ ์ฝ๋๋ ์์ฒญ์ด ๋ฌด์จ ์ผ์ ์ํํ๋์ง ์ค๋ช
ํ๋ ์ฝ๋์ด๋ค. ์ธ ์๋ฆฌ ์๋ก ์ด๋ค์ ธ์๊ณ , ์ฒซ ๋ฒ์งธ ์๋ฆฌ์ ์ซ์๋ก ์ฑ๊ณต, ์๋ฌ ๋ฑ์ ์ ์ ์๋ค.
๋ฉ์๋
๋ชจ๋ ์์ฒญ ๋ฉ์์ง๋ ๋ฉ์๋๋ฅผ ํฌํจํ๊ณ , ์๋ฒ์๊ฒ ๋ฌด์จ ์ผ์ ํด์ผํ๋์ง๋ฅผ ๋งํด์ค๋ค.
๋ฉ์๋ | ์ค๋ช
|
---|
GET | ์๋ฒ์๊ฒ ๋ฆฌ์์ค๋ฅผ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ค. |
HEAD | GET๊ณผ ๋น์ทํ์ง๋ง, ์๋ต์ผ๋ก ํค๋๋ง์ ๋๋ ค์ค๋ค. |
PUT | ์๋ฒ์ ๋ฌธ์๋ฅผ ์ฐ๊ณ , ์ด๋ฏธ ์กด์ฌํ๋ ๋ฌธ์๋ผ๋ฉด ๋ณธ๋ฌธ์ผ๋ก ๊ต์ฒดํ๋ค. |
POST | ์๋ฒ์ ์
๋ ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค. |
TRACE | ์์ ์ ์์ฒญ์ด ์๋ฒ์ ๋๋ฌํ์ ๋ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ์๋ ค์ค๋ค. (๋์ค์ ๋ฉ์์ง๊ฐ ๋ง๊ฐ์ก๋์ง, ์์ ๋์๋์ง๋ฅผ ํ์ธํ ์ ์๋ค.) |
OPTIONS | ์๋ฒ์ ๋ฆฌ์์ค์ ๋ํด ์ง์ํ๋ ๋ฉ์๋ ๋ชฉ๋ก์ ๋ฐํํ๋ค. |
DELETE | ์๋ฒ์ ๋ฆฌ์์ค๋ฅผ ์ญ์ ์์ฒญํ๋ค. |
์ํ ์ฝ๋
- 100-199 : ์ ๋ณด์ฑ ์ํ ์ฝ๋
- 200-299 : ์ฑ๊ณต ์ํ ์ฝ๋
- 200 OK : ์์ฒญ ์ ์, ๋ณธ๋ฌธ์ ์์ฒญ๋ ๋ฆฌ์์ค๋ฅผ ํฌํจํ๊ณ ์๋ค.
- 201 CREATED : ์๋ฒ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ผ๋ ์์ฒญ์ ์ํ ๊ฒ์ด๋ค. ์๋ต์ Location ํค๋, ๋ฆฌ์์ค ์ฐธ์กฐ url์ ํฌํจํด์ผํ๋ค.
- 202 ACCEPTED : ์์ฒญ์ ๋ฐ์๋ค์ฌ์ก์ผ๋ ๊ทธ์ ๋ํด ์๋ฒ๊ฐ ์๋ฌด ๋์๋ ์ทจํ์ง ์์.
- 300-399 : ๋ฆฌ๋ค์ด๋ ์
์ํ ์ฝ๋
ํด๋ผ๊ฐ ๊ด์ฌ์์ดํ๋ ๋ฆฌ์์ค๊ฐ ๋ค๋ฅธ ์์น๋ก ์ฎ๊ฒจ์ก์ ๋ ์ด๋์ ์ฐพ์ ์ ์๋์ง
๋ฅผ ๋ฆฌํดํ๋ค.
- 300 MULTIPLE CHOICES : ๋์์ ์ฌ๋ฌ ๋ฆฌ์์ค๋ฅผ ๊ฐ๋ฆฌํค๋ url์ ์์ฒญํ ๊ฒฝ์ฐ ๋ฆฌ์์ค ๋ชฉ๋ก๊ณผ ํจ๊ป ๋ฐํํ๋ค.
- 301 MOVED PERMANENTLY : ์์ฒญํ url์ด ์ฎ๊ฒจ์ก์ ๋ ์ฌ์ฉํ๋ค. ๋ฆฌ์์ค๊ฐ ์ฎ๊ฒจ์ง url๋ ํจ๊ป ๋ฐํํ๋ค.
- 304 NOT MODIFIED : ๋ฆฌ์์ค๊ฐ ์์ ๋์ง ์์์์ ์๋ฏธํ๋ค. ์ด์ ๋ํ ์๋ต ๋ฉ์์ง๋ ๋ณธ๋ฌธ์ ๊ฐ์ง๋ฉด ์๋จ.
- 400-499 : ์คํจ ์ํ ์ฝ๋
- 400 BAD REQUEST : ์๋ชป๋ ์์ฒญ์ ๋ณด๋
- 401 UNAUTHORIZED : ์ธ์ฆ ์๊ตฌ
- 403 FORBIDDEN : ์์ฒญ์ด ์๋ฒ์ ์ํด ๊ฑฐ๋ถ๋์์
- 404 NOT FOUND : ์์ฒญํ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์์
- 500-599 : ์๋ฒ ์๋ฌ ์ํ ์ฝ๋
ํค๋
-
์ผ๋ฐ ํค๋ : ๋ฉ์์ง์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค.
- Connection, Date, Upgrade, Via ๋ฑ
-
์ผ๋ฐ ์บ์ ํค๋ : ๋งค๋ฒ ์๋ฒ๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ค๋ ๋์ ๋ก์ปฌ ๋ณต์ฌ๋ณธ์ผ๋ก ์บ์ํ ์ ์๋๋ก ์ ๊ณตํ๋ค.
-
์์ฒญ ํค๋ : ์์ฒญ์ด ์ต์ด ๋ฐ์ํ ๊ณณ์์ ๋๊ฐ, ๋ฌด์์ด ์์ฒญ์ ๋ณด๋๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณต
ํ๋ค.
- Accept ๊ด๋ จ ํค๋๋ ์๋ฒ์๊ฒ ์์ ์ด ์ด๋ค ํ์
์ ๋ฆฌ์์ค๋ฅผ ์ํ๋์ง๋ฅผ ์๋ ค์ค ์ ์๋ค. ํด๋ผ๋ ์ํ๋ ๊ฒ์ ์ป์ ์ ์๊ณ , ์๋ฒ๋ ํด๋ผ๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ ์ ์กํ๋๋ฐ ์๊ฐ๊ณผ ๋์ญํญ์ ๋ญ๋นํ์ง ์์ ์ ์๋ค.
- ์กฐ๊ฑด๋ถ ์์ฒญ ํค๋๋ ๋ช๋ช ์ ์ฝ์ ๋ฃ์ด ๋ฆฌ์์ค๋ฅผ ์ ์ดํ ์ ์๋ค. (If-Match, If-None-Match ~)
- ์์ฒญ ๋ณด์ ํค๋๋ก ๋ฆฌ์์ค์ ์ ๊ทผํ๊ธฐ ์ ์ ์ธ์ฆ์ ํ๊ฒ ํจ์ผ๋ก์จ ํธ๋์ญ์
์ ๋ ์์ ํ๊ฒ ํ๋ค.
- ํ๋ฝ์ ์์ฒญ ํค๋๋ ์์ฒญ ํค๋์ ํด๋นํ๋ค.
-
์๋ต ํค๋ : ๋๊ฐ ์๋ต์ ๋ณด๋ด๊ณ ์๋์ง์ ๊ฐ์ ์๋ต์์ ์ ๋ณด
๋ฅผ ์ ๊ณตํ๋ค.
- Age, Public, Server, Title ~
- ์ธ์ฆ ๋ณด์ ํค๋๋ Proxy-Authenticate, Set-Cookie2, WWW-Authenticate ๋ฑ์ ํฌํจํ๋ค.
์ด ๊ธ์ HTTP ์๋ฒฝ ๊ฐ์ด๋
๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ ๊ธ์
๋๋ค.
์ ์๊ถ ๋ฐ ๊ธฐํ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์.
๊ฐ์ฌํฉ๋๋ค.