-
๐ฅ๏ธ Computer science/: Web ๐
WS(์น ์๋ฒ)์ WAS(์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ)๋? ๊ฐ๋ ๊ณผ ์ฐจ์ด์ ์์๋ณด๊ธฐ
2024. 5. 2.
WS์ WAS
WS(Web Server)
- ํด๋ผ์ด์ธํธ์ HTTP ์์ฒญ์ ๋ฐ์ ์์ฒญ์ ๋ง๋ ์ ์ ์ปจํ ์ธ (ex - html, css, JavaScript, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ)๋ฅผ ๋ฐํํ๋ ์๋ฒ
- ์ฌ์ฉ์๋ก๋ถํฐ ๋์ ์ธ ์์ฒญ์ด ๋ค์ด์์ ๋์๋ ์์ฒด์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ WAS์๊ฒ ์์ฒญํ๋ค.
- ex - Apache, NGINX ๋ฑ
์ฃผ์ ๊ธฐ๋ฅ
- ์ ์ ์ปจํ ์ธ ์ ๊ณต: ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์๊ด์์ด ๋ณํ์ง ์๋ ๊ณ ์ ๋ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๋ค.
- HTTP ์์ฒญ ์ฒ๋ฆฌ: ํด๋ผ์ด์ธํธ์ HTTP ์์ฒญ์ ๋ฐ์ ํด๋น ์์ฒญ์ ๋ง๋ ํ์ผ์ด๋ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ๋ฐํํ๋ค.
- ์ธ์ฆ๊ณผ ๋ณด์: ์น ์๋ฒ๋ ์ํธํ๋ HTTPS ์ฐ๊ฒฐ์ ์ ๊ณตํ์ฌ ๋ณด์์ ๊ฐํํ ์ ์๋ค. ๊ฐ๋จํ ์ธ์ฆ ๋ฐฉ๋ฒ์ ํตํด ํด๋ผ์ด์ธํธ์ ์ ๊ทผ์ ์ ์ดํ ์๋ ์๋ค.
- ๋ก๋ ๋ฐธ๋ฐ์ฑ: ์น ์๋ฒ๋ ์ฌ๋ฌ ๋์ ์๋ฒ๋ก ๋ถ์ฐ๋ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํํ ์ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ๊ณผ ๊ฐ์ฉ์ฑ์ ํฅ์์ํฌ ์ ์๋ค.
- Reverse Proxy: ์น ์๋ฒ๋ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ก ๋์ํ์ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ก ์ ๋ฌํ๋ ์ญํ ์ ํ ์๋ ์๋ค. ์ด๋ฅผ ํตํด ์น ์๋ฒ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์๊ณผ ์ฑ๋ฅ์ ๊ฐ์ ํ ์ ์๋ค.
WAS(Web Application Server)
- ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ์๋ฒ ์ํํธ์จ์ด
- WAS=Web Server + Web Container
- ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ผ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ์์ฑํ๋ฉฐ DB์์ ์ํธ์์ฉ, ํธ๋์ญ์ ์ฒ๋ฆฌ, ๋ณด์, ์ธ์ ๊ด๋ฆฌ ๋ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ์ํํ๋ค.
ex - Tomcat, Jeus, IBM WebSphere, Red Hat JBoss ๋ฑ๋ฑ
์ฃผ์ ๊ธฐ๋ฅ
- ๋์ ์น ํ์ด์ง ์์ฑ: ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์น ํ์ด์ง๋ฅผ ์์ฑํ์ฌ ๋ฐํํ๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น์ฆ๋์ค ๋ก์ง์ ์คํํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ HTML, JSON ๋ฑ์ ํ์์ผ๋ก ํด์์ด์ธํธ์ ์ ๋ฌํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ์ฌ ๋ฐ์ดํฐ์ ์กฐํ, ์ฝ์ , ์์ , ์ญ์ ๋ฑ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋์ ์ง์ํ๋ค.
- ํธ๋์ญ์ ๊ด๋ฆฌ: ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ํ๋ ์์ ์ ํธ๋์ญ์ (์์ ) ๋จ์๋ก ๊ด๋ฆฌ๋์ด์ผ ํ๋ค. WAS๋ ํธ๋์ญ์ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ์ฌ ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ์์ ์ฑ์ ์ ์งํ๋ค.
- ๋ณด์ ๊ธฐ๋ฅ: ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ณด์์ด ํ์ํ ์ ๋ณด๋ฅผ ๋ค๋ฃฐ ๋ WAS๋ ์ธ์ฆ, ๊ถํ, ๋ถ์ฌ, ์ํธํ ๋ฑ์ ๋ณด์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์์ ๊ฐํํ๋ค.
- ์ธ์ ๊ด๋ฆฌ: ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ ์งํด์ผ ํ ๋๊ฐ ์๋ค. ์ด๋ฅผ ์ํด WAS๋ ์ธ์ ๊ด๋ฆฌ๋ฅผ ์ง์ํ์ฌ ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ค.
Web Server์ WAS์ ๋ถ๋ฆฌ
- WS์ ๊ธฐ๋ฅ์ WAS๋ก๋ ์ ๋ถ ๊ฐ๋ฅํ๋ค.
- ๊ทธ๋ฌ๋ WAS๊ฐ ์ ์ ์ฝํ ์ธ ์์ฒญ๊น์ง ์ฒ๋ฆฌํ๋ค๋ฉด ๋์ ์ปจํ ์ธ ์ฒ๋ฆฌ๊ฐ ์ง์ฐ๋๋ฉด์ ์๋๊ฐ ๋๋ ค์ง ์ ์๋ค.
- ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด WAS๋ DB ์กฐํ ๋ฐ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ฒ ํ๊ณ , ์ ์ ์ฝํ ์ธ ๋ WS์๊ฒ ๋งก๊ฒจ์ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํด ์๋ฒ ๋ถํ๋ฅผ ๋ฐฉ์งํ ์ ์๋ค.
- SSL์ ๋ํ ์ํธํ, ๋ณตํธํ ์ฒ๋ฆฌ์ ์น ์๋ฒ๋ฅผ ์ฌ์ฉํด์ ๋ณด์์ ๊ฐํํ ์๋ ์๋ค.
- ์๋น์ค ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์น ์๋ฒ์ ์น์ฑ ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ์ฌ ์์ ์ด์ฉ์ ํจ์จ์ฑ, ๋ฐฐํฌ ๋ฐ ์ ์ง ๋ณด์ ํธ์์ฑ์ ์ทจํ ์ ์๋ค.
- ์ฌ๋ฌ ๋์ WAS๋ฅผ ์ฐ๊ฒฐํ ๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ (๋ถํ ๋ถ์ฐ)์ ์ํด์๋ ์น ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ex - WS๋ฅผ ์์ ๋๊ณ WAS๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ WS๊ฐ WAS๋ฅผ ์ด์ฉํ์ง ๋ชปํ๊ฒ ํ ํ WAS๋ฅผ ์ฌ์์ํ์ฌ ์ฌ์ฉ์๊ฐ ์ค๋ฅ๋ฅผ ๋๋ผ์ง ๋ชปํ๊ณ ์ด์ฉํ ์ ์๊ฒ ํ๋ค.
- ์ ๊ทผ ํ์ฉ IP ๊ด๋ฆฌ, ์ฌ๋ฌ ์๋ฒ์์์ ์ธ์ ๊ด๋ฆฌ ๋ฑ๋ WS์์ ์ฒ๋ฆฌํ๋ฉด ํจ์จ์ ์ด๋ค.
WS & WAS๋ฅผ ํ์ฉํ ์น ์๋น์ค ์ํคํ ์ฒ
- Web Server๋ ์น ๋ธ๋ผ์ฐ์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ์ ๋ฐ๋๋ค.
- Web Server๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ(Request)์ WAS์ ๋ณด๋ธ๋ค.
- WAS๋ ๊ด๋ จ๋ Servlet์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฐ๋ค.
- WAS๋ web.xml์ ์ฐธ์กฐํ์ฌ ํด๋น Servlet์ ๋ํ Thread๋ฅผ ์์ฑํ๋ค. (Thread Pool ์ด์ฉ)
- HttpServletRequest์ HttpServletResponse ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ Servlet์ ์ ๋ฌํ๋ค.
- 5.1 Thread๋ Servlet์ service() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
- 5.2 service() ๋ฉ์๋๋ ์์ฒญ์ ๋ง๊ฒ doGet() ๋๋ doPost() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
- protected doGet(HttpServletRequest request, HttpServletResponse response
6. doGet() ๋๋ doPost() ๋ฉ์๋๋ ์ธ์์ ๋ง๊ฒ ์์ฑ๋ ์ ์ํ ๋์ ํ์ด์ง๋ฅผ Response ๊ฐ์ฒด์ ๋ด์ WAS์ ์ ๋ฌํ๋ค
7. WAS๋ Response ๊ฐ์ฒด๋ฅผ HttpResponse ํํ๋ก ๋ฐ๊พธ์ด Web Server์ ์ ๋ฌํ๋ค.
8. ์์ฑ๋ Thread๋ฅผ ์ข ๋ฃํ๊ณ , HttpServletRequest์ HttpServletResponse ๊ฐ์ฒด๋ฅผ ์ ๊ฑฐํ๋ค.
WAS-WS? ์น ์ปจํ ์ด๋?
- ์๋ธ๋ฆฟ: ์น ํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๊ธฐ ์ํ ์๋ฒ์ธก ํ๋ก๊ทธ๋จ. WAS์์์ ์ปดํ์ผ ๋๊ณ ๋์
- JSP: ์๋ธ๋ฆฟ๊ณผ ํ๋์ผ์ ๋์ผํ์ง๋ง JSP๋ html์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ๊ฐํธ(html์์ ์๋ฐ ์ฝ๋ ์ฝ์ ) ์ ํํ๋ ์๋ฐ ์ธ์ด ๊ธฐ๋ฐ์ ์คํฌ๋ฆฝํธ ์ธ์ด..!
- ์น ์๋ฒ(WS)๋ ์ ์ ์ธ ํ์ด์ง๋ง์ ์ ๊ณต → ๋์ ์ธ ํ์ด์ง ์ ๊ณต์ ์ํด ์น ์๋ฒ๋ ๋ค๋ฅธ ๊ณณ์ ๋์์ ์์ฒญ → ์น ์๋ฒ๊ฐ ๋์ ํ์ด์ง๋ฅผ ์ ๊ณตํ ์ ์๋๋ก ๋์์ฃผ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด ์๋ธ๋ฆฟ, ๋์ ์ธ ํ์ด์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ด CGI(๊ตํ ๋ฐฉ์)
- ์๋ธ๋ฆฟ ์ปจํ ์ด๋: ์๋ธ๋ฆฟ์ ๋ง๋ ๋ค๊ณ ์ค์ค๋ก ์๋ํ๋ ๊ฒ์ด x ์๋ธ๋ฆฟ์ ์์ฑ, ์๋ฉธ, ๊ด๋ฆฌํด์ฃผ๋ ์ญํ ์ด ํ์. ๊ทธ ์ญํ ์ด ์๋ธ๋ฆฟ ์ปจํ ์ด๋(์๋ธ๋ฆฟ๊ณผ ์น ์๋ฒ๊ฐ์ ํต์ ์ง์ ๋ฑ)
- WS๋ ์น ์๋ฒ์ ์ปจํ ์ด๋๊ฐ ๋ฐ๋ก์ด๊ณ ๋์ ํ์ด์ง ์์ฑ์ ์ํด์๋ ์ปจํ ์ด๋ํํ ๋๊ฒจ์ค์ผ๋์ง๋ง, WAS๋ ์น ์๋ฒ์ ์ปจํ ์ด๋๋ฅผ ๋ถ์ฌ๋์ ๊ฒ!!
'๐ฅ๏ธ Computer science > : Web ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก์ ์๋ฒ(Proxy Server)๋? (ํฌ์๋ ํ๋ก์vs๋ฆฌ๋ฒ์ค ํ๋ก์, ํ๋ก์vsNAT ๋ฑ) (0) 2024.05.04 ๋๊ธ