์ต๊ทผ์ REST api ์ ๋ํด์ ๊ณต๋ถํ์๋๋ฐ, ๋ง์นจ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ง๋ค ์ผ์ด ์์ด์ ํด๋น ๊ธฐ๋ฅ์ REST ๋ฅผ ์ ์ฉํด์ ๋ง๋๋ ค๊ณ ํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด์ ์ฝ๋์์๋ HTTP ๋ฉ์๋๋ฅผ GET,POST ๊ตฌ๋ถ์์ด ์ฌ์ฉํ๊ณ ์์๊ธฐ์ (์กฐํ๋ฅผ ํ ๋, POST ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํด์ ํ๋ค๊ฑฐ๋ ํ๋ ํ์), ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ์๋ถ์ด๋ ๋ง์ถ๋ฉด์ ํ๋๋ฐ, ์๋ก ๊ธฐ๋ณธ์ ์ด๋ผ๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ด ๋ค๋ฅด๊ธฐ์ ์ดํด์์ผ์ฃผ๋๋ฐ ์๋ฅผ ๋จน์๋ ๊ธฐ์ต์ด ์์ต๋๋ค. (ํค๋์ Content-Type ์ด๋ผ๋๊ฐ, Accept-Type ๋ฑ)
์๊ธฐ๋ฅผ ํ๋ฉด์, ๋ด๊ฐ ์ด๋ ์ ๋ ์์๋, ์ค๋ช ์ ํ๋ ๊ฒ์ ๋ ๋ณ๊ฐ์ ์์ญ์ด๋ผ๋ ๋๋์ด ๋ค๋๊ตฐ์. (๋ฌผ๋ก ์ ์๋ฉด, ์ค๋ช ๋ ์ ํ๊ฒ ์ง๋ง์..)
๋ง์ฐํ๊ฒ ๋น์ฐํ ๊ทธ๋ฐ๊ฑฐ ์๋์ผ?
๋ผ๊ณ ์๊ฐํ ๋งํ HTTP ํค๋์ ์ํ ์ฝ๋์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณผ๊น ํฉ๋๋ค.
1. HTTP ๋ฉ์์ง์ ํ๋ฆ
HTTP ๋ฉ์์ง๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ์ ํ๋ฆ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๋ณดํต ์ฌ๊ธฐ์ ๋ง์ ๋ค์ด๋ณธ, ์ธ๋ฐ์ด๋์ ์์๋ฐ์ด๋๋ผ๋ ๋ง์ด ๋์ค๋๋ฐ์.
์๋ฒ ๋ฐฉํฅ(ํด๋ผ์ด์ธํธ -> ์๋ฒ) ์ ์ธ ๋ฐ์ด๋ ๋ผ๊ณ ํ๊ณ , ํด๋ผ์ด์ธํธ ๋ฐฉํฅ(์๋ฒ -> ํด๋ผ์ด์ธํธ) ์ ์์ ๋ฐ์ด๋๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฉ์์ง๋ ํญ์ ๋ค์ด์คํธ๋ฆผ์ผ๋ก ํ๋ฆ ๋๋ค.
์ฌ๊ธฐ์ ์ ํญ์ ๋ค์ด์คํธ๋ฆผ์ธ๊ฐ ํ๋ฉด, ์ด๊ฑด ๋ฉ์์ง๊ฐ ์ด๋ ํฅํ๋๊ฐ์ ๋ํ ๋ด์ฉ์ด ์๋ ๋ฐ์ก์์ ์์ ์์ ๋ํ ๋ด์ฉ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. (ํด๋ผ -> ์๋ฒ, ์๋ฒ -> ํด๋ผ)
HTTP ๋ฉ์์ง๋ ์ฃผ๋ก ์์์ค, ํค๋, ๋ณธ๋ฌธ ์ด๋ ๊ฒ 3๊ฐ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋ณธ๋ฌธ์ ํ์๊ฐ ์๋๋๋ค.
์ฃผ๋ก ์์ฒญ์์๋
GET /hello HTTP/1.1 - ์์์ค
Accept: text/plain - ํค๋
Host : ysjune.github.io
๊ทธ๋ฆฌ๊ณ ์ด์ ๋ํ ์๋ต์์๋
HTTP /1.1 200 OK. - ์์์ค
Content-type : text/plain. - ํค๋
Content-length : 20
Hi! Long time no see! - ๋ณธ๋ฌธ
์ด๋ฐ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๊ฐ ์ค์ ๋ํ ๋ด์ฉ์ ๊ฐ๋ตํ๊ฒ ๋ณด๋ฉด,
- ์์ฒญ
- ์์์ค
- ๋ฉ์๋๋ก ์์ํ๋ฉฐ, ์๋ฒ์๊ฒ ๋ฌด์์ ํด์ผ ํ๋์ง ๋งํด์ค๋๋ค.
- URL ๊ณผ ํจ๊ป HTTP ๋ฒ์ ์ ํจ๊ป ๋ณด๋ด์ค๋๋ค.
- ํค๋
- ์์ฒญ์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ๋ํฉ๋๋ค.
- ์์ ์์์
Accept: text/plain
๋ ํด๋ผ์ด์ธํธ๋ text ๋ฅผ ๋ฐ์ ์ ์๋ค๋ ์๊ธฐ์ ๋๋ค.
- ์์์ค
- ์๋ต
- ์์์ค
- ํด๋ผ์ด์ธํธ์๊ฒ ๋ฌด์์ด ์ผ์ด๋ฌ๋์ง ์๋ ค์ค๋๋ค.
- ์์ ์
HTTP /1.1 200 OK
์์ ์ํ์ฝ๋๋ 200 ์ ๋๋ค.
- ํค๋
- ์๋ต ๋ฉ์์ง์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ๋ํฉ๋๋ค.
- ์์ ์์์ ๋ณธ๋ฌธ์ text ์ด๊ณ , ๊ธธ์ด๋ 20 ์ด๋ผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
- ๋ณธ๋ฌธ
- ์ ํ์ ์ธ ๊ฒ์ผ๋ก ๋ณธ๋ฌธ์ ์ฃผ์ง ์๋ ์๋ต๋ ์์ต๋๋ค.
- ์์์ค
2. HTTP ๋ฉ์๋
๋๋ต์ ์ธ ๋ฉ์์ง์ ํ๋ฆ์ ๋ดค์ต๋๋ค.
์ด๋ฒ์ ์์์ค์ ์์นํ HTTP ๋ฉ์๋(GET, POST ๋ฑ) ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
1. GET
- ์ฃผ๋ก ์๋ฒ์์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ๋ ์ฐ์ด๋ฉฐ, ๊ฐ์ฅ ํํ ์ฐ์ด๋ ๋ฉ์๋์ ๋๋ค.
- ์ฃผ๋ก ๋ฉฑ๋ฑ์ฑ (๋ช ๋ฒ์ ํธ์ถํ๋ ๊ฐ์ ๋ด์ฉ) ์ ๋ํ ๋ด์ฉ์ด ๋์ฌ ๋ ๋ง์ด ๋์ค๋ ๋ฉ์๋ ์ ๋๋ค.
2. HEAD
- GET ๊ณผ ๊ฐ์ด ํ๋ํ์ง๋ง, ์๋ฒ๋ ์๋ต์ผ๋ก ํค๋๋ง์ ๋๋ ค์ค๋๋ค.
- ๋ณธ๋ฌธ์ด ์๊ธฐ ๋๋ฌธ์, ์ฃผ๋ก ์ํ๊ฐ ์กด์ฌํ๊ฑฐ๋, ๋ณ๊ฒฝ๋์๋์ง๋ฅผ ํ์ธํ๋ ์ฉ๋๋ก ์ฌ์ฉํฉ๋๋ค.
3. PUT
- ์๋ฒ๊ฐ ์์ฒญ์ ๋ณธ๋ฌธ์ ๊ฐ์ง๊ณ ์์ฒญ URL ์ ์ด๋ฆ๋๋ก ์ ๋ฌธ์๋ฅผ ๋ง๋ค๊ฑฐ๋, ๋ณธ๋ฌธ์ ๊ต์ฒดํ๋ ๊ฒ์ ๋๋ค.
- PUT ์ผ๋ก ์ฝํ ์ธ ๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์, ์ ํ์์ ์ผ๋ก ๋ก๊ทธ์ธ๋ฑ์ ์๊ตฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
4. POST
- ์๋ฒ์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค.
- PUT ๊ณผ ๊ฒน์น๋ ๋ด์ฉ์ด ๋ง์ง๋ง, ์ฃผ๋ก ์ ๋ฌธ์๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํฉ๋๋ค.
5. TRACE
- ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ์์ฒญ์ ํ ๋, ๊ทธ ์์ฒญ์ ๋ฐฉํ๋ฒฝ, ํ๋ก์, ๊ฒ์ดํธ์จ์ด ๋ฑ์ ํต๊ณผํ ์ ์๋๋ฐ, ์ด๋ฐ ์์ฒญ์ ํต๊ณผํ ๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. (ex. ํค๋ ๋ด์ฉ ์ถ๊ฐ ๋ฑ) ์ด๋ด ๋, ์์ ์ ์์ฒญ์ด ์๋ฒ์ ๋๋ฌํ์ ๋, ์ด๋ป๊ฒ ๋ณด์ด๋ ์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
6. OPTIONS
- ์น ์๋ฒ์๊ฒ ์ด๋ค ๋ฉ์๋๊ฐ ์ง์๋๋์ง ๋ฌผ์ด๋ด ๋๋ค.
7. DELETE
- ์๋ฒ์์ ์์ฒญ URL๋ก ์ง์ ํ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ ๊ฒ์ ์์ฒญํฉ๋๋ค.
- ํ์ง๋ง, ์์ฒญ์ด ํ์คํ ์ญ์ ๋์๋์ง๋ ๋ณด์ฅํ์ง ์์ต๋๋ค. HTTP ๋ช ์ธ์์๋ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ฆฌ์ง ์๊ณ ์์ฒญ์ ๋ฌด์ํ๋ ๊ฒ์ ํ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์ ๋ด์ฉ๋ค์ ๊ฐ๋ตํ๊ฒ ํ๋ก ๋ณด๋ฉด
๋ฉ์๋ | ์ค๋ช | ๋ณธ๋ฌธ ํฌํจ ์ฌ๋ถ |
---|---|---|
GET | ์๋ฒ์์ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์จ๋ค. | X |
HEAD | ์๋ฒ์์ ๋ฆฌ์์ค์ ํค๋๋ง ๊ฐ์ ธ์จ๋ค. | X |
POST | ์๋ฒ๊ฐ ์ฒ๋ฆฌํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ๋ค. (์ฃผ๋ก ์์ฑ) | O |
PUT | ์๋ฒ์ ์์ฒญ ๋ฉ์์ง์ ๋ณธ๋ฌธ์ ์ ์ฅํ๋ค. | O |
TRACE | ๋ฉ์์ง๊ฐ ์๋ฒ์ ๋๋ฌํ๋ ๊ณผ์ ์ ์ถ์ | X |
OPTIONS | ์๋ฒ๊ฐ ์ด๋ค ๋ฉ์์ง๋ฅผ ์ํํ ์ ์๋์ง ํ์ธ | X |
DELETE | ์๋ฒ์์ ๋ฆฌ์์ค๋ฅผ ์ ๊ฑฐํ๋ค. | X |
3. ์ํ ์ฝ๋
์๋ต์ ํ ๋ ๋ณด๋ด์ฃผ๋ ์ํ์ฝ๋๋ก, 100๋ฒ๋ ๋ถํฐ 500๋ฒ๋๊น์ง ํฌ๊ฒ 5๊ฐ์ง๋ก ๋๋ฉ๋๋ค.
1. 100๋ฒ๋ ์ํ์ฝ๋ : ์ ๋ณด์ฑ ์ํ์ฝ๋
- HTTP/1.1 ์์ ๋์ ๋์์ผ๋ฉฐ, ๋ณต์กํ ํํ๋ฅผ ๋๊ณ ์์ต๋๋ค.
์ํ ์ฝ๋ | ๋ด์ฉ | ์๋ฏธ |
---|---|---|
100 | Continue | ์์ฒญ์ ์์ ๋ถ๋ถ ์ผ๋ถ๊ฐ ๋ฐ์๋ค์ฌ์ก์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ๋ ๋๋จธ์ง๋ฅผ ๊ณ์ ์ด์ด์ ๋ณด๋ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. |
2. 200๋ฒ๋ ์ํ์ฝ๋ : ์ฑ๊ณต ์ํ์ฝ๋
- ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋ด๋ฉด, ๋๊ฒ ์ฑ๊ณตํ๋๋ฐ ์๋ฒ๋ ๊ทธ์ ๋์ํ๋ ์ํ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ํ์ฝ๋ | ๋ด์ฉ | ์๋ฏธ |
---|---|---|
200 | OK | ์ ์ ์์ฒญ |
201 | Created | ์๋ฒ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์์ฒญ์ ๋ํ ์๋ต |
202 | Accepted | ์์ฒญ์ ๋ฐ์๋ค์ฌ์ก์ผ๋, ๊ทธ์ ๋ํ ๋์์ ์ํํ์ง ์์๋ค. |
203 | Non-Authoritative Information | ์ํฐ๋ ํค๋์ ๋ค์ด๊ฐ์๋ ์ ๋ณด๊ฐ ์๋ ์๋ฒ๊ฐ ์๋ ๋ฆฌ์์ค์ ์ฌ๋ณธ์์ ์์ |
204 | No Content | ์๋ต ๋ฉ์์ง๋ ํค๋์ ์ํ๋ฅผ ํฌํจํ์ง๋ง, ๋ณธ๋ฌธ์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ |
205 | Reset Content | ๋ธ๋ผ์ฐ์ ์์ ํ์ฌ ํ์ด์ง์ ์๋ HTML ํผ ๊ฐ์ ๋ฆฌ์ |
206 | Partial Content | ๋ถ๋ถ ํน์ ๋ฒ์ ์์ฒญ์ด ์ฑ๊ณต |
3. 300๋ฒ๋ ์ํ์ฝ๋ : ๋ฆฌ๋ค์ด๋ ์ ์ํ์ฝ๋
- ํด๋ผ์ด์ธํธ๊ฐ ๊ด์ฌ์์ด ํ๋ ๋ฆฌ์์ค์ ๋ํด ๋ค๋ฅธ ์์น๋ฅผ ์ฌ์ฉํ๋ผ๊ณ ๋งํด์ฃผ๊ฑฐ๋, ๋ค๋ฅธ ๋์ ์๋ต์ ์ ๊ณตํฉ๋๋ค.
์ํ์ฝ๋ | ๋ด์ฉ | ์๋ฏธ |
---|---|---|
300 | Multiple Choice | ํด๋ผ์ด์ธํธ๊ฐ ๋์์ ์ฌ๋ฌ ๋ฆฌ์์ค๋ฅผ ๊ฐ๋ฆฌํค๋ URL ์ ์์ฒญํ ๊ฒฝ์ฐ, ๊ทธ ๋ฆฌ์์ค์ ๋ชฉ๋ก๊ณผ ํจ๊ป ๋ฐํ |
301 | Moved Permanently | ์์ฒญํ URL ์ด ์ฎ๊ฒจ์ก์ ๋ ์ฌ์ฉ |
305 | Use Proxy | ๋ฆฌ์์ค๊ฐ ๋ฐ๋์ ํ๋ก์๋ฅผ ํตํด์ ์ ๊ทผ๋์ด์ผ ํจ์ ๋ํ๋ |
4. 400๋ฒ๋ ์ํ์ฝ๋ : ํด๋ผ์ด์ธํธ ์๋ฌ ์ํ์ฝ๋
- ์๋ฒ๊ฐ ๋ค๋ฃฐ ์ ์๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณด๋ผ ๋ ๋์ค๋ ์๋ต์ฝ๋ ์ ๋๋ค.
์ํ์ฝ๋ | ๋ด์ฉ | ์๋ฏธ |
---|---|---|
400 | Bad Request | ํด๋ผ์ด์ธํธ๊ฐ ์๋ชป๋ ์์ฒญ์ ๋ณด๋์ ๊ฒฝ์ฐ |
401 | Unauthorized | ๋ฆฌ์์ค๋ฅผ ์ป๊ธฐ ์ ์ ํด๋ผ์ด์ธํธ์๊ฒ ์ค์ค๋ก ์ธ์ฆ์ ํ๋ผ๊ณ ์๊ตฌ |
403 | Forbidden | ์์ฒญ์ ์๋ฒ์ ์ํด ๊ฑฐ๋ถ๋์์ (๋ณดํต ์๋ฒ๊ฐ ๊ฑฐ์ ์ ์ด์ ๋ฅผ ์จ๊ธฐ๊ณ ์ถ์ ๋ ์ฌ์ฉ) |
404 | Not Found | ์์ฒญํ URL ์ ์ฐพ์ ์ ์์ |
405 | Method Not Allowed | ์์ฒญํ URL ์ ๋ํด ์ง์ํ์ง ์๋ ๋ฉ์๋๋ก ์์ฒญํ์ ๋ ์ฌ์ฉ |
406 | Not Acceptable | ์ฃผ์ด์ง URL ์ ๋ํด ์๋ต์ ํ ๋, ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ ์ ์๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ |
408 | Request Timeout | ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์์ํ๊ธฐ์ ์๊ฐ์ด ๋๋ฌด ๋ง์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ |
415 | Unsupported Media Type | ์๋ฒ๊ฐ ์ดํดํ๊ฑฐ๋ ์ง์ํ์ง ๋ชปํ๋ ๋ด์ฉ ์ ํ์ ์ํฐํฐ๋ฅผ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋์ ๋ ์ฌ์ฉ |
5. 500๋ฒ๋ ์ํ์ฝ๋ : ์๋ฒ ์๋ฌ ์ํ์ฝ๋
- ํด๋ผ์ด์ธํธ๊ฐ ์ฌ๋ฐ๋ฅธ ์์ฒญ์ ๋ณด๋์์๋ ์๋ฒ ์์ฒด์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํฉ๋๋ค.
์ํ์ฝ๋ | ๋ด์ฉ | ์๋ฏธ |
---|---|---|
500 | Internal Server Error | ์๋ฒ๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ง๋๋ ์๋ฌ๋ ๋ง๋ฌ์ ๋ ์ฌ์ฉ |
502 | Bad Gateway | ํ๋ก์๋ ๊ฒ์ดํธ์จ์ด๋ก๋ถํฐ ์์ฒญ์ ๋ชป ๋ณด๋ด๊ฑฐ๋ ์๋ต์ ๋ชป ๋ฐ์ ๋ (ex, ๋ถ๋ชจ ๊ฒ์ดํธ์จ์ด ์ ์ ๋ถ๊ฐ) |
503 | Service Unavailable | ์๋ฒ๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ ์๋ ์์ผ๋, ํ์ฌ๋ ๋ถ๊ฐ๋ฅํ๊ณ ๋์ค์ ๊ฐ๋ฅํ ๋ ์ฌ์ฉ |
504 | Gateway Timeout | 408 ์ํ์ฝ๋์ ๋น์ทํ์ง๋ง, ๋ค๋ฅธ ์๋ฒ๋ ๊ฒ์ดํธ์จ์ด๋ก๋ถํฐ ์๋ต์ ๋ฐ๋ค๊ฐ ํ์์์์ด ๋ฐ์ํ ๊ฒฝ์ฐ |
4. ํค๋
ํค๋๋ ๋ฉ์๋์ ํจ๊ป ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋ฌด์์ ํ๋์ง ๊ฒฐ์ ํ๊ธฐ ์ํด ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
ํค๋๋ ํฌ๊ฒ ๋ค์ฏ ๊ฐ์ง๋ก ๋ถ๋ฅ๋ฉ๋๋ค.
1. ์ผ๋ฐ ํค๋
-
ํด๋ผ์ด์ธํธ์ ์๋ฒ ์์ชฝ ๋ชจ๋๊ฐ ์ฌ์ฉํฉ๋๋ค.
-
ex) ๋ฉ์์ง๊ฐ ๋ง๋ค์ด์ง ์ผ์๋ฅผ ์ง์นญํ๊ธฐ ์ํด ์ฌ์ฉํ ๊ฒฝ์ฐ
Date: Sat, 17 Apr 2021 02:02:22 GMT
2. ์์ฒญ ํค๋
-
์์ฒญ ๋ฉ์์ง๋ฅผ ์ํ ํค๋์ ๋๋ค.
-
์๋ฒ์๊ฒ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ํ์ ์ด ๋ฌด์์ธ์ง ๊ฐ์ ์ ๋ณด๊ฐ ์์ต๋๋ค.
-
ex) ์๋ฒ๋ก๋ถํฐ ์ด๋ค ๋ฏธ๋์ด ํ์ ๋ ๋ฐ์๋ค์ผ ๊ฒฝ์ฐ
Accept : * / *
3. ์๋ต ํค๋
-
ํด๋ผ์ด์ธํธ์๊ฒ ๋ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ ๋ ์ฌ์ฉํ๋ ํค๋์ ๋๋ค.
-
ex) ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฆ
Server : toy Server
ex) ํ์ฌ ๋ฆฌ์์ค๊ฐ ๋ถ๊ฐ๋ฅํ ๋ ์ธ์ ๊ฐ๋ฅํด์ง๋์ง ์๊ฐ ํน์ ๋ ์ง ์ ๊ณต
Retry-After : Sat, 17 Apr 2021 02:02:22 GMT
4. ์ํฐํฐ ํค๋
-
๋ณธ๋ฌธ์ ๋ํ ํค๋๋ฅผ ๋งํฉ๋๋ค.
-
ex) ๋ณธ๋ฌธ์ ๋ค์ด์๋ ๋ฐ์ดํฐ๊ฐ UTF-8 ์ธ ๊ฒฝ์ฐ
Content-Type : text/html; charset=utf-8
ex) ๋ณธ๋ฌธ์ ๊ธธ์ด๊ฐ 20 ์ธ ๊ฒฝ์ฐ
Content-Length : 20
5. ํ์ฅ ํค๋
- ๊ฐ๋ฐ์๋ค์ ์ํด ๋ง๋ค์ด์ก์ง๋ง, ์์ง ์น์ธ๋์ง ์์ ๋นํ์ค ํค๋์ ๋๋ค.
- HTTP ํ๋ก๊ทธ๋จ์ ํ์ฅ ํค๋๋ค์ ๋ํด ์ค๋ น ์๋ฏธ๋ฅผ ๋ชจ๋ฅธ๋คํ ์ง๋ผ๋ ์ ๋ฌํด์ผ ํฉ๋๋ค.
5. ์ ๋ฆฌ
HTTP ๋ฉ์์ง์ ๋ํด์ ์ญ ์ ๋ฆฌ๋ฅผ ํด๋ดค๋๋ฐ,
์๋ ๋ด์ฉ๋ ์์์ง๋ง, ๋ชฐ๋๊ฑฐ๋ ์ฒ์๋ณด๋ ๋ด์ฉ๋ ์์์ต๋๋ค. (ํนํ ์ํ์ฝ๋ ๋ถ๋ถ)
ํ์ ์ ํ๊ณ ์์์๋, ๋ค๋ฅธ ๊ณณ์์๋ ์ผ๋ง๋ ์ํ์ฝ๋๋ฅผ ์ ์ฐํ๊ฒ ์ฐ๊ณ ์๋์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค์. (REST๋ฅผ ์ผ๋ง๋ ์ ์ง์ผ๊ฐ๋ฉด์ ๊ฐ๋ฐํ๊ณ ์๋ ๊ฒ๊ณผ ๊ฐ์ ๋งฅ๋ฝ์ผ๋ ค๋์?)
ํ์ฌ์ ์ปจ๋ฒค์ ์ ๋ง๊ฒ ๊ฐ๋ฐํ๋ฉด์๋, ์ด๋ฐ ๋ด์ฉ๋ค์ ์๊ณ ์๋ชป ์ฐ๋ ๊ฒฝ์ฐ๋ ์๋๋ก ํด์ผ๊ฒ ๋ค์.
- Reference