
๐ชฝ ํด๋ผ์ด์ธํธ (Client)
- ์๋น์ค๋ฅผ ์ด์ฉํ๋ ํ๋ก๊ทธ๋จ ๋๋ ์ปดํจํฐ
- ์์: ์น ๋ธ๋ผ์ฐ์ (ํฌ๋กฌ, ์ฃ์ง ๋ฑ), ๋ชจ๋ฐ์ผ ์ฑ ๋ฑ
- ์ญํ
- ์ฌ์ฉ์์ ์์ฒญ์ ์ ๋ ฅ๋ฐ์ ์๋ฒ์ ์ ์ก
- ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๋ฐ์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค
- UI(์ฌ์ฉ์ ์ธํฐํ์ด์ค)๋ฅผ ๋ด๋น
๐ชฝ ์๋ฒ (Server)
- ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋จ ๋๋ ์ปดํจํฐ
- ์์: ์น ์๋ฒ(Apache, Nginx), ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(Spring Boot), ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ(MySQL, PostgreSQL)
- ์ญํ
- ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ฐ์ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌ
- ๋น์ฆ๋์ค ๋ก์ง์ ์ํ
- ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ๋ฐํ
ํด๋ผ์ด์ธํธ-์๋ฒ ๊ฐ ํต์ ํ๋ฆ
1๏ธโฃ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ
- "ํ์๊ฐ์ ๋ฒํผ ํด๋ฆญ"
- → ํด๋ผ์ด์ธํธ๊ฐ **ํ์์ ๋ณด(์ด๋ฆ, ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ ๋ฑ)**๋ฅผ ์๋ฒ์ ๋ณด๋ (HTTP ์์ฒญ)
2๏ธโฃ ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ๊ณ ์ฒ๋ฆฌ ํ ์๋ต
- ์๋ฒ๋ ์์ฒญ์ ๋ฐ์ ํ์์ ๋ณด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)์ ์ ์ฅ
- ์ ์ฅ์ด ์ฑ๊ณตํ๋ฉด "ํ์๊ฐ์ ์๋ฃ" ๋ฉ์์ง๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ฐํ
3๏ธโฃ ํด๋ผ์ด์ธํธ๊ฐ ์๋ต์ ๋ฐ์ ์ฒ๋ฆฌ
- ์๋ฒ๋ก๋ถํฐ "ํ์๊ฐ์ ์๋ฃ" ์๋ต์ ๋ฐ์ผ๋ฉด
- ํด๋ผ์ด์ธํธ๋ "๋ฉ์ธ ํ๋ฉด์ผ๋ก ์ด๋"
(์์)
์น์ฌ์ดํธ ํ์๊ฐ์ (๋ค์ด๋ฒ, ๊ตฌ๊ธ ๋ฑ)
๐ฅ๏ธ 1) ํด๋ผ์ด์ธํธ (์ฌ์ฉ์ ์น ๋ธ๋ผ์ฐ์ )
- ์ฌ์ฉ์๊ฐ ๋ค์ด๋ฒ ํ์๊ฐ์ ํ์ด์ง์์ ์ด๋ฆ, ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅ ํ "ํ์๊ฐ์ " ๋ฒํผ์ ํด๋ฆญ
๐ก 2) ์๋ฒ (๋ค์ด๋ฒ์ ๋ฐฑ์๋ ์์คํ )
- ํด๋ผ์ด์ธํธ์ ์ ๋ ฅ๊ฐ์ ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)์ ์ ์ฅ
- ์ ๋ ฅ๋ ์ด๋ฉ์ผ์ด ๊ธฐ์กด ํ์๊ณผ ์ค๋ณต๋๋์ง ํ์ธ
- ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํํ์ฌ ์์ ํ๊ฒ ์ ์ฅ
โ 3) ์๋ต (ํด๋ผ์ด์ธํธ์๊ฒ ์ ์ก)
- ํ์๊ฐ์ ์ฑ๊ณต → "๊ฐ์ ์ด ์๋ฃ๋์์ต๋๋ค!" ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋
- ํ์๊ฐ์ ์คํจ → "์ด๋ฉ์ผ์ด ์ค๋ณต๋์์ต๋๋ค. ๋ค๋ฅธ ์ด๋ฉ์ผ์ ์ฌ์ฉํด์ฃผ์ธ์."
๐ชฝ ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ์ ๋ฐฑ์๋์ ์ญํ
ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ๋ ํด๋ผ์ด์ธํธ(์ฌ์ฉ์ ์ธก)๊ฐ ์์ฒญ์ ๋ณด๋ด๊ณ ,
์๋ฒ(๋ฐฑ์๋ ์ธก)๊ฐ ์ด๋ฅผ ์ฒ๋ฆฌํ ํ ์๋ต์ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ
ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ค๊ฐ ์ญํ ์ ์ํํ๋ฉฐ, ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๋ก์ง ์คํ, DB ์ฐ๋, ๋ณด์ ๊ด๋ฆฌ ๋ฑ์ ๋ด๋น
Spring Boot ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฑ์๋๋ฅผ ์ฝ๊ฒ ๊ตฌ์ถํ ์ ์์ผ๋ฉฐ, API๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์.
๋ฐฑ์๋๋ ์๋ฒ ์ธก์์ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๋ํ๋ ์ญํ
๐ง์์ฒญ ์ฒ๋ฆฌ (Request Handling)
- ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๊ฒ์ฆ ๋ฐ ์ฒ๋ฆฌ
- ์: "ํ์๊ฐ์ ์์ฒญ์ด ์์ ๋, ์ด๋ฉ์ผ ํ์์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธ"
๐ง๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ (DB Interaction)
- ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์กฐํ, ์์ , ์ญ์ (CRUD)
- ์: "์ฌ์ฉ์๊ฐ ํ์๊ฐ์ ํ๋ฉด DB์ ํ์์ ๋ณด ์ ์ฅ"
๐ง๋น์ฆ๋์ค ๋ก์ง ์ํ
- ํ์ํ ๊ณ์ฐ, ์ฒ๋ฆฌ ๋ก์ง ์ํ
- ์: "๋น๋ฐ๋ฒํธ ์ํธํํ์ฌ ์ ์ฅ"
๐ง์๋ต ๋ฐํ (Response Handling)
- ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ๋ฌ
- ์: "ํ์๊ฐ์ ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ํด๋ผ์ด์ธํธ์ ์๋ต"
๐ง๋ณด์ ๊ด๋ฆฌ
- ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๊ถํ ๊ด๋ฆฌ (๋ก๊ทธ์ธ, JWT ํ ํฐ, OAuth)
- ์: "๋ก๊ทธ์ธ ์ ๋น๋ฐ๋ฒํธ๊ฐ ๋ง๋์ง ๊ฒ์ฆํ๊ณ ํ ํฐ ๋ฐ๊ธ"
'๋ฐฑ์๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| CRUD ๊ตฌํ/ CR ๊ธฐ๋ฅ์ ๋ํด (1) | 2025.05.04 |
|---|---|
| [Spring MODEL ๊ตฌํ/MVC ํจํด] (1) | 2025.04.05 |
| [Spring Boot ๊ตฌ์กฐ] (1) | 2025.04.05 |
| ๋ฐฑ์๋๋? (0) | 2025.03.28 |
| IntelliJ IDEA๋ก HTML, CSS ๋ง์ ์ฌ์ฉํ์ฌ ์ ์ ์น ํ์ด์ง ๋ง๋ค๊ธฐ (0) | 2025.03.28 |