์น์๋ฒ
- ์ ์ ๋ฆฌ์์ค ์ ๊ณต
- ์ ์ HTML, CSS, ์ด๋ฏธ์ง, ์์
- ์) NGINX, APACHE
ํ์ง๋ง ์ฝํ ์ธ ์ ํฌ๊ธฐ๊ฐ ์๋ฐฑ ๋ฉ๊ฐ๋ฐ์ดํธ ๊ฐ์ด ๋งค์ฐ ํฐ ๊ฒฝ์ฐ๋ ๋ค์์ ํด๋ผ์ด์ธํธ๊ฐ ๋์์ ์ด๋ฅผ ์์ฒญํ์ ๋ ์น์๋ฒ๋ '๋คํธ์ํฌ ๋์ญํญ', '๋ผ์ฐํฐ ๋์ญํญ', '์ผ์ด๋ธ ๋์ญํญ' ๊ฐ์ข ์ ํ์ ๋๋ฌํ๊ฒ ๋๋ค. ์ด๋ ๊ฒ ์ ํ์ ๊ฑธ๋ ค๋ฒ๋ฆฌ๋ฉด ์น์๋ฒ๋ ์ผ๋ฐ ์์ฒญ๋ ์ฒ๋ฆฌํ ์ ์๋ '๋ง๋น'์ํ๊ฐ ๋๋ค.
์ฝํ ์ธ ํฌ๊ธฐ๊ฐ ํฌ๊ฑฐ๋ ์์ฒญ์ด ๋ง์์ ์น์๋ฒ์ ์ ํ์ด ๊ฑธ๋ฆด ๋ ํด๊ฒฐ๋ฐฉ๋ฒ
- ๋ก๋๋ฐธ๋ฐ์๋ก ๋ค์์ ์น์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๊ณ ์ฝํ ์ธ ์ถ๊ฐ์ ๋์ํ๊ธฐ ์ํด ๋คํธ์ํฌ ๋์ญ์ด ๋์ '๋ฏธ๋์ด ์ฝํ ์ธ ์๋ฒ'๋ฅผ ๋ฐ๋ก ๋๋ค.
- ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ฉด ์ฝํ
์ธ ์ ์ ์ก ์๋๊ฐ ๋๋ ค์ง๋ฏ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์ฝํ
์ธ ์๋ฒ๋ฅผ ๋ฐฐ์นํ์ฌ ํธ๋ํฝ์ ๋ถ์ฐ์ํฌ ์ ์๋ค.
- ํ์ง๋ง ๊ฐ ์์น๋ง๋ค ์๋ฒ๋ฅผ ๋๊ณ ํ์ผ์ ๋๊ธฐํํ๋ ์์ ์ ์ฝ์ง์์ผ๋ฉฐ ๋น์ฉ์ด ๋ง์ด ๋ฐ์ํ๋ค.
- CDN(Content Delivery Network)์๋น์ค๋ ์ฌ๋ฌ ์์น์ ์ค๋ฆฌ์ง ์๋ฒ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋์ ํด์ฃผ๋ฉฐ ์ฝํ ์ธ ๋ฅผ ๋์ ์ ๊ณตํด์ค๋ค. ํธ๋ํฝ ์ฆ๊ฐ์๋ ์ฝ๊ฒ ๋์ํ ์ ์๋ค.
WAS
- WAS = Web server(์ ์ ๋ฆฌ์์ค ์ ๊ณต ๊ฐ๋ฅ) + Web Container(๋์ ๋ฆฌ์์ค ์ ๊ณต)
- ๋ถ์ฐ ํธ๋์ญ์ , ๋ณด์, ๋ฉ์์ง, ์ฐ๋ ๋ ์ฒ๋ฆฌ ๋ฑ ์ฃผ๋ก ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ๋ ํ๊ฒฝ์์ DB์ ํจ๊ป ์ฌ์ฉ
- Tomcat, Jeus, JBoss
ํฐ์ผ์ WAS๋ก ์๋ฐ์ฝ๋๋ฅผ ์ด์ฉํด HTMLํ์ด์ง๋ฅผ '๋์ '์ผ๋ก ์์ฑํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
WAS๋ ์น์๋ฒ์ ์น ์ปจํ ์ด๋ ๋ ๋ชจ๋์ ์ญํ ์ ํ ์ ์๋ค. ํ์ง๋ง ์ด๋ ๋๋ฌด ๋ง์ ์ญํ ๋ก ์ธํด ์๋ฒ ๊ณผ๋ถํ๊ฐ ๋ฐ์ํ ์ ์๋ค.
์ญํ ์ ๋๋ ๊ฐ์ง๋๋ก ํด๋ณด์. [WEB - WAS - DB]
WebServer์ WAS๋ฅผ ๋๋์ด ๊ตฌ์ฑํ๋ฉด WAS๋ DB๊ฐ ์ฃฝ์ด๋ ์ ์ ๋ฆฌ์์ค๋ ์ ๊ณตํ ์ ์๋ค. ๋ํ ์ ์ ๋ฆฌ์์ค๊ฐ ์์ฒญ์ด ๋ง๋ค๋ฉด WebServer๋ฅผ ๋๋ฆฌ๊ณ ๋์ ์์ฒญ์ด ๋ง๋ค๋ฉด WAS๋ง ๋๋ฆฌ๋ฉด ์ ์ฐํ ์ฆ์ค์ด ๊ฐ๋ฅํ๋ค.
์๋ธ๋ฆฟ
๋จผ์ ์์ฒญ์ ๋ฐ์์ ๋ ์๋ฒ์์ ์ฒ๋ฆฌํด์ผ ํ๋ ์ ๋ฌด์ ๋ํด์ ์์๋ณด์.
์์ฒญ ์ ์ฒ๋ฆฌ ๊ณผ์
- ์๋ฒ TCP/IP ์ฐ๊ฒฐ๋๊ธฐ - ์์ผ ์ฐ๊ฒฐ
- HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ํ์ฑํด์ ์ฝ๊ธฐ
- Content-type ํ์ธํ๊ณ HTTP ๋ฉ์์ง ๋ฐ๋ ๋ด์ฉ ํ์ฑ
- urlencoded์ธ์ง json์ธ์ง ๋ฑ
- ๋น์ฆ๋์ค ๋ก์ง ์คํ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํ
- HTTP ์๋ต ๋ฉ์์ง ์์ฑ์์
- HTTP ์์ ๋ผ์ธ ์์ฑ, Header ์์ฑ
- ๋ฉ์์ง ๋ฐ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฅ
- TCP/IP์ ์๋ต ์ ๋ฌ - ์์ผ ์ข ๋ฃ
์ฌ๊ธฐ์ ๋ณด๋ผ์์ผ๋ก ์น ํ ๋ถ๋ถ์ด ๊ฐ๋ฐ์๊ฐ ์์ฑํ๋ ๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ถ์ด๊ณ ์ด์ธ์ ๋๋จธ์ง ๋ถ๋ถ์ด ์๋ธ๋ฆฟ์ด ์ง์ํ๋ WAS์ ์์ญ์ด๋ค.
์ด์ฒ๋ผ WAS๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์์ ์๊ณ ๋ฅผ ๋๊ณ ๋์ฑ ํต์ฌ๋ก์ง์ ์ง์คํ ์ ์๋ค.
HTTP ์์ฒญ ์ ์์ฑ๋๋ ๊ฐ์ฒด
- WAS๋ Request, Response ๊ฐ์ฒด๋ฅผ ์๋ก ๋ง๋ค์ด์ ์๋ธ๋ฆฟ ๊ฐ์ฒด ํธ์ถ
๊ฐ๋ฐ์๋ ์ด ๋ ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ์์ฒญ๊ณผ ์๋ต์ ๋ณด๋ฅผ ํธํ๊ฒ ์ฌ์ฉํ๊ณ ๋ง๋ค ์ ์๋ฐ.
์๋ธ๋ฆฟ ์ปจํ ์ด๋
์๋ธ๋ฆฟ์ ์ง์ํ๋ WAS๋ฅผ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ผ๊ณ ํจ. -> ex) ํฐ์บฃ
- ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์๋ธ๋ฆฟ ๊ฐ์ฒด์ ์์ฑ, ์ด๊ธฐํ, ํธ์ถ, ์ข ๋ฃ๋ฅผ ๊ด๋ฆฌ
- ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ ์ฑ๊ธํค์ผ๋ก ๊ด๋ฆฌ
- ์ต์ด ๋ก๋ฉ ์์ ์ ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋๊ณ ์์ฒญ์์ ํ ๋นํด์ ์ฌ์ฉํจ
๋์์์ฒญ - ๋ฉํฐ์ฐ๋ ๋
์์ฒญ์ด ์ค๋ฉด ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ฅผ ๋๊ฐ ํธ์ถํ๋๊ฐ?
์ ๋ต : ์ฐ๋ ๋
WAS๊ฐ ๋ฉํฐ์ฐ๋ ๋์ ๋ํ ๋ถ๋ถ์ ์ฒ๋ฆฌํ๋ฏ๋ก ๊ฐ๋ฐ์๋ ํธ๋ฆฌํ๊ฒ ๊ฐ๋ฐํ ์ ์๋ค.
์ฐ๋ ๋๋?
- ์๋ฐ ๋ฉ์ธ ๋ฉ์๋๋ฅผ ์ฒ์ ์คํํ๋ฉด main์ด๋ผ๋ ์ด๋ฆ์ ์ฐ๋ ๋๊ฐ ์คํ
- ์ฝ๋๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํํ๋ ์ฐ๋ ๋
- ์ฐ๋ ๋ํ๋๋ ํ๋ฒ์ ํ๋์ ์ฝ๋ ๋ผ์ธ๋ง ์ํ
- ๋์์ฒ๋ฆฌ๊ฐ ํ์ํ๋ฉด ์ฐ๋ ๋๋ฅผ ์ถ๊ฐ๋ก ์์ฑ
์์ฒญ์ด ํ๋๋ฉด ์์ฒญ ์ ์ฐ๋ ๋ ํ๋ ํ ๋นํด์ ์์ฒญ์ฒ๋ฆฌ๋ฅผ ์งํํ๋ค.
- ์์ฒญ์ด ๋์ผ ๋ '์ฒ๋ฆฌ ์ง์ฐ' ์ํฉ์์๋ ์ด๋ป๊ฒ ํ ๊น?
- ์ฐ๋ ๋๊ฐ ํ๋๋ผ๋ฉด ์ดํ์ ์์ฒญ์ ํ์์์์ด ๋๋ค.
ํ์ง๋ง ์์ฒญ๋ง๋ค ์ฐ๋ ๋ ์์ฑ์๋ ๋จ์ ์ด ์๋ค.
- ์ฐ๋ ๋ ์์ฑ ๋น์ฉ์ด ๋งค์ฐ ๋น์ธ๋ค (CPU, ๋ฉ๋ชจ๋ฆฌ)
- ์ฌ๋๋ง๋ค ์์ฑํ๋ฉด **'์๋ต ์๋'**๊ฐ ๋ฆ์ด์ง๋ค.
- ์ฐ๋ ๋๊ฐ ๋ง์์ง์๋ก '์ปจํ ์คํธ ์ค์์นญ' ๋น์ฉ์ด ๋ฐ์ํ๋ค.
- ์ฐ๋ ๋ ์์ฑ ์ ํ์ด ์๋ค. ์์ฒญ์ ๋ฌด์ ํ์ผ๋ก ๋ฐ๋๋ค. (CPU, ๋ฉ๋ชจ๋ฆฌ ์๊ณ์ ์ ๋์ผ๋ฉด ์๋ฒ๊ฐ ์ฃฝ๋๋ค)
→ ๋ฌธ์ ์ : ์ปจํ ์คํธ์ค์์นญ์ผ๋ก ์ธํ ์๋ ์ ํ ๋ฐ ์์ ์ฌ์ฉ๋ ์ฆ๊ฐ, ์๋ต์๋, ์์๋ถ์กฑ๋ฌธ์
์ด๋ฅผ WAS๋ ์ด๋ป๊ฒ ํด๊ฒฐํ์๊น?
-> ์ฐ๋ ๋ํ!
์ฐ๋ ๋ํ ํน์ง
- ํ์ํ ์ฐ๋ ๋๋ฅผ ์ฐ๋ ๋ ํ์ ๋ณด๊ดํ์ฌ ๊ด๋ฆฌํ๋ฉฐ ์ฐ๋ ๋์ ์ต๋์น๊ฐ ์๋ค.
- ์ฐ๋ ๋ ํ์ ์ ์ฐ๋ ๋ ํ์์ ์ฐ๋ ๋๋ ๊บผ๋ด์ด ์ฌ์ฉํ๋ค.
- ์์ฑ๋ ์ฐ๋ ๋๊ฐ ๋ชจ๋ ์ฌ์ฉ์ค์ด๋ผ๋ฉด '์์ฒญ์ ๊ฑฐ์ ํ๊ฑฐ๋ ๋๊ธฐ์ํจ๋ค'
๋ฏธ๋ฆฌ ์์ฑ๋ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์์ฑ/์ข ๋ฃ ๋น์ฉ์ด ๋ค์ง์๊ณ ์์ฑ๋ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์๋ต์๊ฐ์ด ๋น ๋ฅด๋ค.
์ค์ ๋ ์ต๋์น๊ฐ ์์ด ๋ง์ ์์ฒญ์ด ๋ค์ด์๋ ์์ ํ๊ฒ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. (์์ ๋ถ์กฑ ์๋ฐฉ ๊ฐ๋ฅ)
-> ์ํฉ์ ๋ง๊ฒ ์ต๋์น๋ฅผ ์ค์ ํด์ผ ํ๋ค. (์์ฒญ์, CPU, IO, ๋ฉ๋ชจ๋ฆฌ)
[ํด๋น ๊ธ์ ๋ ธ์ ์ ์ ๋ฆฌํ๋ ๊ธ์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํ์ต๋๋ค]
https://complex-hospital-a54.notion.site/7891606679754b9da67b905e87d5b9ce