๐ก์๋ธ๋ฆฟ์ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ์ง์ํ๊ธฐ ์ํด ๊ณ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ฉ ํ๋ก๊ทธ๋จ์ด๋ค. HTTP ํ์ฑ ๋ฐ ์ฒ๋ฆฌ, TCP/IP์ ์์ผ ์ฐ๊ฒฐ ๋ฐ ์ข ๋ฃ, ๋ฉํฐ ์ค๋ ๋ ์ง์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ์ด๋ก ์ธํด ๊ฐ๋ฐ์๋ค์ด ๋น์ฆ๋์ค ๋ก์ง ๊ฐ๋ฐ์ ์ง์คํ ์ ์๋๋ก ๋๋ ์ญํ ์ ํ๋ค.
์๋ธ๋ฆฟ์ด ์ฒ์ ๋ฑ์ฅํ 1997๋ ์๋ ์ ์ ์ธ ์นํ์ด์ง๋ฅผ ์ ๊ณตํ๋ ์น ์๋ฒ๊ฐ ์ฃผ๋ฅ์๋ค. ์น ์๋ฒ(Nginx, Apache ๋ฑ)๋ HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ์์ผ๋ฉฐ ์ ์ ์ธ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์ฃผ ๊ธฐ๋ฅ์ด์๋ค.
๊ทธ ํ ๊ธฐ์กด์ ์น ์๋ฒ์ ๊ธฐ๋ฅ์ ๋ํ์ฌ, ๋์ HTML, HTTP API ํต์ ๋ฑ์ ์ง์ํ๊ณ ํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ์คํํด ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ์ํํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(์ดํ WAS)๊ฐ ๋ฑ์ฅ(Tomcat ๋ฑ)ํ์๋ค.
WAS ๋ํ ์ ์ ์ธ ํ์ด์ง๋ฅผ ์ ๊ณตํ ์ ์์ง๋ง, ๊ทธ๋ฐ ๊ฒฝ์ฐ
๋ฐ๋ผ์ ์ดํ ์ ์ ๋ฆฌ์์ค๋ ์น ์๋ฒ๊ฐ ์ฒ๋ฆฌํ๊ณ , ์ด์ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง๊ฐ์ ๋์ ์ธ ์ฒ๋ฆฌ๋ WAS๊ฐ ์ ๋ดํ๋ ํํ๋ก ๋ฐ์ ํด์๋ค.
WAS๊ฐ ์จ์ ํ ๊ทธ ์ญํ ์ ์ํํ๊ธฐ ์ํด์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง ์ฒ๋ฆฌ ์ธ์ ๋์ ์ธ HTTP ํด์๊ณผ TCP/IP ๋คํธ์ํน, ํธ๋ํฝ๊ด๋ฆฌ(๋ฉํฐ์ค๋ ๋ฉ) ๋ฑ ๋ค์ํ ์ ํ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋๋ฐ, ์ด๋ฅผ ๋ชจ๋ ๋์ ํ๋ ์ญํ ์ ํ๋ ๊ฒ์ด ๋ฐ๋ก Servlet์ด๋ค.
Servlet ๋๋ถ์ ๊ฐ๋ฐ์๋ค์ ๊ฐ์ฅ ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์
๋ก์ง ๊ฐ๋ฐ์ ํ์ธ ์ ์๊ฒ ๋์๋ค.
์๋ธ๋ฆฟ์ ์ง์ํ๋ WAS๋ฅผ Servlet Container๋ผ๊ณ ์ง์นญํ๋ค. Servlet์ ํต์ฌ ๋์์ Servlet Container์ ์ํด ์ํ๋๋ค. Servlet Container๋ HTTP ์์ฒญ์
๋์๊ฐ
Servlet Container๋ ํจ์จ์ ์ธ ๋์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ค๋ ๋ ํ์ ํ์ฉํ๋ค. ์ด ๋ ์ค๋ ๋ ํ์ ๊ฐ์ ๊ฐ์ ์ค์ ํ ์ ์๋๋ฐ,
์ด๋ ๊ฒ ๋ฉํฐ ์ค๋ ๋์ ๋ํ ๋ถ๋ถ์ Servlet Container๊ฐ ์ฒ๋ฆฌํด์ค์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๋ฉํฐ ์ค๋ ๋ ๊ด๋ จ ์ฝ๋์ ์ ๊ฒฝ์ฐ์ง ์๊ณ ์์ค ์ฝ๋ ๊ฐ๋ฐ์ ์ง์คํ ์ ์๊ฒ ๋๋ค.
๋ฉํฐ ์ค๋ ๋ ํ๊ฒฝ์์๋ ์ฑ๊ธํค ๊ฐ์ฒด(Servlet, Spring bean ๋ฑ)๋ฅผ ํนํ ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํ๋ค. ๊ทธ๋ ์ง ์์์ ๋ฏผ๊ฐํ ์ ๋ณด๋ค์ด ์ 3์์๊ฒ ๋ ธ์ถ๋๋ ๋ฑ ์น๋ช ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฌ์ผ์ผํฌ ์ ์๋ค.