1. HTTP(HyperText Transfer Protocol)
: ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ๋คํธ์ํฌ ํ๋กํ ์ฝ๋ก, ํต์ ํ๊ธฐ ์ํ ๊ท์ฝ

[๋์]
1. ์ฌ์ฉ์๋ ๋ธ๋ผ์ฐ์ ๋ผ๋ ํด๋ผ์ด์ธํธ๋ฅผ ํตํด ์๋ฒ์ HTTP ์์ฒญ์ ์ ์ก
2. ๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ์ฐฝ์ URL์ ์น๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด, ๋ธ๋ผ์ฐ์ ๋ HTTP ์์ฒญ์ ํด๋น URL์๋ฒ๋ก ์ ์ก
3. ํด๋น ์๋ฒ๋ ๊ทธ ๊ฒฐ๊ณผ์ธ HTTP ์๋ต์ ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ํจ
[HTTP ์์ฒญ]
- ์์ฒญ์๋ ๋ฉ์๋๋ฅผ ์ง์ → ๋ฉ์๋๋ ํธ์คํธ์๊ฒ ์ง์ ํ ๋ฆฌ์์ค์ ์ด๋ค ์์
์ ํ๊ณ ์ถ์์ง ์๋ ค์ฃผ๋ ์ญํ
- GET: ๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉ
- POST: ๋ฆฌ์์ค์ ๋ํด ์์์ ์์ ํ ๋ ์ฌ์ฉ → ์ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ
- PUT: ๋ฆฌ์๋ฅผ ์์ ํ ๋์ฒดํ ๋ ์ฌ์ฉ(ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค ์์น๋ฅผ ์๊ณ URI ์ง์ )
- PATCH: ๋ฆฌ์์ค์ ๋ถ๋ถ๋ง ๋ณ๊ฒฝ
- DELETE: ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ ๋ ์ฌ์ฉ
[HTTP ์๋ต]
- ์๋ต์ฝ๋ ์กด์ฌ
- 200: ์ฑ๊ณต
- 404: ํด๋น ๋ฆฌ์์ค ์กด์ฌํ์ง ์์
- 403: ์ก์ ์๋ ํด๋น ๋ฆฌ์์ค์ ๋ํ ์ ๊ทผ ๊ถํ ์์
- 500: ์๋ฒ ์๋ฌ
- Content-Type: ๋ฏธ๋์ด ํ์
- ์๋ต ๋ฐ๋: ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํต HTTP ์๋ต ๋ฐ๋์ ์์ฒญ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ ๋ณด๋
2. JSON(JavaScript Object Notation)
: ์ค๋ธ์ ํธ๋ฅผ ํํํ๊ธฐ ์ํ ๋ฌธ์์ด
- ์ธํฐ๋ท์ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ ์ดํดํ ์ ์๋ ํํ๋ก ์ค๋ธ์ ํธ๋ฅผ ๋ณํํด์ผ ํจ
- ์ง๋ ฌํ: ๋ฉ๋ชจ๋ฆฌ ์์ ์ค๋ธ์ ํธ๋ฅผ ๋ค๋ฅธ ํํ๋ก ๋ณํํ๋ ์์
- ์ญ์ง๋ ฌํ: ๋ค๋ฅธ ํํ์์ ์ค๋ธ์ ํธ๋ก ๋ณํํ๋ ์์
- JSON์ ํค-๊ฐ(Key-Value)ํํ๋ก ํํ
[JSON์ ์ด์ฉํด ๋ฐ์ดํฐ ์ ๋ฌ]
1. ์ค๋ธ์ ํธ๋ฅผ JSONํํ์ ๋ฌธ์์ด๋ก ๋ณํ
2. HTTP์์ฒญ์ ๋ฐ๋ ๋ถ๋ถ์ ๋ณํ๋ JSON์ ๋ฃ์ด ์์ฒญ ์ ์ก
3. ์์ฒญ์ ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ HTTP ์์ฒญ์ ๋ฐ๋ ๋ถ๋ถ์์ JSON๊บผ๋
4. ํด๋น JSON์ ์ค๋ธ์ ํธ๋ก ๋ณํํ์ฌ ์ฌ์ฉ
3. ์๋ฒ
: ํ๋ก๊ทธ๋จ์ผ๋ก, ์ง์ ๋ ํฌํธ์ ์์ผ์ ์ด๊ณ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ ๋๊น์ง ๋ฌดํ ๋๊ธฐํ๋ฉฐ ๊ธฐ๋ค๋ฆผ
1) ์ ์ ์น ์๋ฒ(Static Web Server)
: ์๋ฒ๋ ํด๋น HTMLํ์ผ์ ์๋ฌด ์์ ๋ ํ์ง ์๊ณ , ํ์ผ์ ์๋ ๊ทธ๋๋ก ๋ฐํ
ex) ์ํ์น, NginX
- ์ง์ ๋ ๊ฒฝ๋ก์ ์ํ๋ ๋ฆฌ์์ค ํ์ผ์ ์ ์ฅํ๋ฉด ํด๋น ๋ฆฌ์์ค๋ ์๋์ผ๋ก ์น ์๋ฒ๋ก ์ ๊ทผํ ์ ์์
- ์ด๋ค ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ ๊ฐ์ ์๋ต์ ๋ฐํ
2) ๋์ ์น ์๋ฒ(Dynamic Web Server)
: ์์ฒญ์ ์ฒ๋ฆฌํ ํ, ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์๋ต ๋ฐ๋๋ฅผ ์ฌ๊ตฌ์ฑํ๊ฑฐ๋ HTML ํ ํ๋ฆฟ ํ์ผ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ฒดํ์ฌ ๋ณด๋
ex) ์ํ์น ํฐ์บฃ
- ํด๋ผ์ด์ธํธ๊ฐ ๋๊ตฐ์ง, ์ด๋ค ๋งค๊ฐ๋ณ์๋ฅผ ๋ณด๋ด๋์ง์ ๋ฐ๋ผ ๊ฐ์ ์์ฒญ์ด๋ผ๋ ๋ค๋ฅธ ์๋ต์ ๋ฐ์
- ์๋ธ๋ฆฟ ์์ง ๋๋ ์๋ธ๋ฆฟ ์ปจํ
์ด๋
- ๊ฐ๋ฐ์๋ค์ ์๋ธ๋ฆฟ ์์ง์ ์ค์นํ ํ, ์๋ธ๋ฆฟ ์์ง์๊ฒ ๋ณธ์ธ์ด ๊ฐ๋ฐํ ๋น์ฆ๋์ค ๋ก์ง, ์ฆ ํด๋์ค ํ์ผ๊ณผ ํด๋น ํด๋์ค ํ์ผ์ ์ด๋ ์์ฒญ์์ ์คํํด์ผ ํ๋์ง ์๋ ค์ค์ผํจ
- Javax.servlet.httpHttpServlet์ ์์๋ฐ๋ ์๋ธ ํด๋์ค๊ฐ ์๋ธ๋ฆฟ ์์ง์ด ์ดํดํ ์ ์๋ ํด๋์ค
- ์๋ธ๋ฆฟ ์์ง ์ด์ฉํ์ฌ ์๋ฒ๋ฅผ ์ฒ์๋ถํฐ ๊ตฌํํ์ง ์๊ณ ๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๊ณ ๋ฐฐํฌ ๊ฐ๋ฅ