: HTTP๋ Hyper Text Transfer Protocol์ ๋๋ฌธ์์ด๋ก, ์ธํฐ๋ท์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ์ด๋ผ๊ณ ํ ์ ์๋ค.
HT (hyper text)
:๋ฌธ์์ ๋ฌธ์๊ฐ ๋งํฌ๋ก ์ฐ๊ฒฐ๋์ด ์์์ ๋ปํ๋ค.
T (transfer)
:HTML๋ก ๋ง๋ ์นํ์ด์ง ๋ฌธ์๋ฅผ ๋ณด๋ธ๋ค.
P (protocol)
: ์ปดํจํฐ๋ผ๋ฆฌ ์ด๋ป๊ฒ HTMLํ์ผ์ ์ฃผ๊ณ ๋ฐ์ ์ง์ ๋ํ ์ํต ๋ฐฉ์ ๋๋ ์ฝ์
์ํต์ ํต์ฌ์ ์์ฒญ๊ณผ ์๋ต์ด๋ค. ์ธ๊ฐ์ ์ํต๋ฐฉ์์ด ์ปดํจํฐ ๋ผ๋ฆฌ ์ํต๋ฐฉ์์๋ ์ ์ฉ๋ ๊ฒ์ด๋ค. ๋ง์ด ์๋ ๋ฉ์ธ์ง์ ํ์์ผ๋ก ์์ฒญํ๊ณ ์๋ตํ๋ค.
HTTP๊ฐ๋ณ ํต์ ์ ๋ชจ๋ ๋ ๋ฆฝ์ด์ด์, ๊ณผ๊ฑฐ์ HTTP ํต์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์กดํ์ง ์๋๋ค.
Stateless์ ๋ํ ์ ๋ณด๋ ์ฌ๊ธฐ์ ์์ธํ ์์๋ณผ ์ ์๋ค.
๋ ๋ฆฝ์ ์ผ๋ก ์ํ๋ฉด ๊ณผ๋ถํ๊ฐ ์ผ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฃผ๋ฌธ์ ๋ฐ๋ ์ ์์ด ๋งค๋ฒ ๋ฌ๋ผ์ ์๋ํ ์ ์๋ค. ์ฆ, ๋ ๋ฆฝ์ ์ผ๋ก ํ ์ ์๋ค. ์๋ฒ์ ๊ณผ๋ถํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๊ทธ๊ฒ ์ข ๋ ํจ์จ์ ์ด๋ค.
๋งค ํต์ ๋ง๋ค ์ฌ์ ์ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด์์ ์์ฒญ์ ๋ณด๋ด์ผ๋ง ํ๋๋ฐ, ์ด๋ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ํ ํฐ์ด๋ผ๊ณ ํ ์ ์๋ค.
๐ Status Line
HTTP version : HTTP ๋ฒ์
Status Code : ์๋ต ์ํ ์ฝ๋
Status Text : ์๋ต์ ์ํ๋ฅผ ๊ฐ๋ตํ ์ค๋ช ํ๋ ํ ์คํธ
(HTTP/1.1 404 Not Found, HTTP/1.1 200 SUCCESS)
๐ Header
: ์์ฒญ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ๋ถ๋ถ
{key : value}์ ํํ
Headers:{
Host : www.camille.co.kr
User-Agent : chrome
Content-Type : application/json
Content-Length : 50
}
๐ Body
: ์์ฒญ์ ์ค์ ๋ด์ฉ
Body : {
"username" : "camille",
"password" : "camille0509"
}
์์ฒญ ๋ฉ์๋์ ๋ฐ๋ผ ์กด์ฌํ์ง ์์ ์ ์์
- GET : ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ธฐ๋ง ํ ๋ ์ฌ์ฉ, ์นํ์ด์ง์ ์ ์ํด์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ๋ ์ฌ์ฉ
- POST : ๋ฐ์ดํฐ๋ฅผ ์์ฑ/ ์์ ํ ๋ ์ฌ์ฉ body์ ๋ด๋ ๋ด์ฉ์ด ํต์ฌ
- DELETE ์๋ฒ์ ์ ์ฅ๋ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ญ์
โ GET Method
โ POST Method
โ DELETE Method
Success
200 : OK (status code ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ๋ํ ์ฒ๋ฆฌ๊ฐ ๋ฐฑ์๋ ์๋ฒ์ ์ด๋ฃจ์ด์ง๊ณ ๋์ ๋ํ๋๋ ์ฝ๋)
201 : Created (๋ฌด์ธ๊ฐ๊ฐ ์ ์์ฑ ๋์์ ๋์(Successfully Created) ์ค๋ status code๋ก ๋๊ฒ POST ๋ฉ์๋ ์์ฒญ์ ๋ฐ๋ผ ์๋ฒ์ ๋ฐ์ดํฐ๊ฐ ์ ์์ฑ๋๊ณ ์์ ๋์์ ๋ ๋ณด๋ด๋ ์ฝ๋)
204 : No Content(์์ฒญ์ด ์ฑ๊ณต ํ์ผ๋ฉฐ ์๋ต ๋ฉ์ธ์ง๊ฐ ์์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ status code ์ฃผ๋ก DELETE ๋ฉ์๋์ ์์ฒญ์ผ๋ก ์ฑ๊ณต์ ์ผ๋ก ์ญ์ ๋์ด์ ์๋ต์ผ๋ก ์ ๊ณตํ ์ปจํ ์ธ ๊ฐ ์์ ๋ ์ฌ์ฉ)
Error
400 : Bad Request(Bad Request ํด๋น์์ฒญ์ด ์๋ชป๋์์ ๋ ๋ณด๋ด๋ status code ์ฃผ๋ก ์์ฒญ์ body์ ๋ณด๋ด๋ ๋ด์ฉ์ด ์๋ชป๋์์ ๋์ฌ์ฉ)
401 : Unauthorized (์ ์ ๊ฐ ์์ฒญ์ ์งํํ๋ ค๋ฉด ๋ก๊ทธ์ธ ๋๋ ํ์๊ฐ์ ์ด ํ์ํ๋ค๋์๋ฏธ)
403 : Forbidden(์ ์ ๊ฐ ํด๋น ์์ฒญ์ ๋ํ ๊ถํ์ด ์๋ค๋ ์๋ฏธ๋ฅผ ๋ํ๋ด๋ status code ์ ๊ทผ ๋ถ๊ฐ๋ฅํ ์ ๋ณด์ ์ ๊ทผํ์ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธ)
404 : Not Found(์๋ชป๋ ์์ฒญ)
Server Error
505 : Internal Server Error
(์๋ฒ์์ ์๋ฌ๊ฐ ์ฌ ๋์ status code ๋ณดํต์ ๋ฐฑ์๋์์ ์์ธํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ, ์ด๊ฑด ๋จ์ง ํ์ค์ผ ๋ฟ์ด์ง ์๋์ผ๋ก ๋๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ท์ฐฎ๊ฒ ์ฝ๋๋ฅผ ์์ฑํด์ ํ ์ ๋ ์์ง๋ง, ๋ญ๋ 404๋ก ์ค๋ฒ๋ฆฌ๋ฉด ๋ญ๊ฐ ์๋ชป๋์๋์ง ์ ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ์ค์ ์ ์ง์ผ์ ๊ฐ๋ฐ์ ํ๋ ๊ฒ์ด ํ์ํจ)