์๋ธ๋ฆฟ๋ค์ ์์ฑ, ์คํ, ํ๊ดด๋ฅผ ๋ด๋นํ๋ค.
์๋ธ๋ฆฟ๋ค์ ์ํ ์์(Container)์
๋๋ค.
์๋ฒ์ ๋ง๋ค์ด์ง ์๋ธ๋ฆฟ์ด ์ค์ค๋ก ์๋ํ๋ ๊ฒ์ด ์๋๋ผ,
์๋ธ๋ฆฟ์ ๊ด๋ฆฌ ํด์ฃผ๋ ๊ฒ์ด ํ์ํ๋ฐ, ์ด๋ฌํ ์ญํ ์ ํ๋ ๊ฒ์ด ๋ฐ๋ก ์๋ธ๋ฆฟ ์ปจํ
์ด๋ ์
๋๋ค.
์ฆ, ์๋ธ๋ฆฟ์ '์๊ตฌ์ฌํญ ๋ช
์ธ์'๋ผ๊ณ ํํํ๋ค๋ฉด,
์๋ธ๋ฆฟ ์ปจํ
์ด๋๋ ๊ทธ ๋ช
์ธ์๋ฅผ ๋ณด๊ณ ๊ฐ๋ฐํ๋ '๊ฐ๋ฐ์'์
๋๋ค.
์๋ธ๋ฆฟ ์ปจํ
์ด๋๋ Clinet์ Request๋ฅผ ๋ฐ์์ฃผ๊ณ Responseํ ์ ์๊ฒ,
์น ์๋ฒ์ ์์ผ์ ๋ง๋ค์ด ํต์ ํฉ๋๋ค.

์น์๋ฒ์์ ํต์ ์ง์
- ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์๋ธ๋ฆฟ๊ณผ ์น์๋ฒ๊ฐ ์์ฝ๊ฒ ํต์ ํ ์ ์๊ฒ ํด์ฃผ์ด, ์์ผ์ ๋ง๋ค๊ณ listen, accept ๋ฑ์ API๋ก ์ ๊ณตํ์ฌ ๋ณต์กํ ๊ณผ์ ์ ์๋ตํ ์ ์๊ฒ ํด์ค๋ค.
์๋ธ๋ฆฟ ์๋ช ์ฃผ๊ธฐ(Life Cycle) ๊ด๋ฆฌ
- ์๋ธ๋ฆฟ ์ปจํ
์ด๋๋ ์๋ธ๋ฆฟ์ ํ์๊ณผ ์ฃฝ์์ ๊ด๋ฆฌํ๋ค.
- ์๋ธ๋ฆฟ ํด๋์ค๋ฅผ ๋ก๋ฉํ์ฌ ์ธ์คํด์คํ
- ์ด๊ธฐํ ๋ฉ์๋๋ฅผ ํธ์ถ
- ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์ ์ ํ ์๋ธ๋ฆฟ ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค.
- ์๋ธ๋ฆฟ ์๋ฉธ ์ Garbage Collection(๊ฐ๋น์ง ์ปฌ๋ ์ )์ ์งํ
๋ฉํฐ์ฐ๋ ๋ ์ง์ ๋ฐ ๊ด๋ฆฌ
- ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์์ฒญ์ด ์ฌ ๋ ๋ง๋ค ์๋ก์ด ์๋ฐ ์ฐ๋ ๋๋ฅผ ํ๋ ์์ฑ
- HTTP ์๋น์ค ๋ฉ์๋๋ฅผ ์คํํ๊ณ ๋๋ฉด, ์ฐ๋ ๋๋ ์๋์ผ๋ก ์๋ฉธ
- ์๋๋ ์ฐ๋ ๋๋ฅผ ๊ด๋ฆฌํด์ผ ํ์ง๋ง ์๋ฒ๊ฐ ๋ค์ค ์ฐ๋ ๋๋ฅผ ์์ฑ ๋ฐ ์ด์ํด์ฃผ๋ ์ฐ๋ ๋์ ์์ ์ฑ์ ๋ํด์ ๊ฑฑ์ ํ์ง ์์๋ ๋๋ค.
์ ์ธ์ ์ธ ๋ณด์ ๊ด๋ฆฌ
- ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๋ณด์์ ๊ด๋ จ๋ ๋ด์ฉ์ ์๋ธ๋ฆฟ ๋๋ ์๋ฐ ํด๋์ค์ ๊ตฌํํด ๋์ง ์์๋ ๋ฉ๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋ณด์๊ด๋ฆฌ๋ XML ๋ฐฐํฌ ์์ ์์ ๋ค๊ฐ ๊ธฐ๋กํ๋ฏ๋ก, ๋ณด์์ ๋ํด ์์ ํ ์ผ์ด ์๊ฒจ๋ ์๋ฐ ์์ค ์ฝ๋๋ฅผ์์ ํ์ฌ ๋ค์ ์ปดํ์ผ ํ์ง ์์๋ ๋ณด์๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ์น์๋ฒ๊ฐ HTTP ์์ฒญ์ ๋ฐ๋๋ค
- ์น์๋ฒ๋ ์์ฒญ์ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ก ์ ๋ฌํฉ๋๋ค.
- ์๋ธ๋ฆฟ์ด ์ปจํ ์ด๋์ ์๋ค๋ฉด, ์๋ธ๋ฆฟ์ ๋์ ์ผ๋ก ๊ฒ์ํ์ฌ ์ปจํ ์ด๋์ ์ฃผ์ ๊ณต๊ฐ์ ๋ก๋ํ๋ค
- ์ปจํ ์ด๋๊ฐ ์๋ธ๋ฆฟ์ init() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด, ์๋ธ๋ฆฟ์ด ์ด๊ธฐํ๋๋ค: ์๋ธ๋ฆฟ์ด ์ฒ์ ๋ก๋๋ฌ์ ๋ ํ๋ฒ๋ง ํธ์ถ
- ์ปจํ ์ด๋๊ฐ ์๋ธ๋ฆฟ์ service() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ HTTP ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.(์์ฒญ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ , ์๋ต์ ๋ง๋ค์ด๋ธ๋ค)์๋ธ๋ฆฟ์ ์ปจํ ์ด๋ ์ฃผ์์ ๋จ์์๊ณ , ๋ค๋ฅธ HTTP ์์ฒญ๋ค์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ์น์๋ฒ๋ ๋์ ์ผ๋ก ์์ฑ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฌ๋ฐ๋ฅธ ์์น์ ๋ฐํํ๋ค.
