HTTP๋?
Hyper Text Transfer Protocol = ์ธํฐ๋ท์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ (ํ๋กํ ์ฝ = ๊ท์น/ ์ปดํจํฐ๋ผ๋ฆฌ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์ํธ-๋ํจ์ ์ธ ํ๋กํ ์ฝ: TCP, IP, HTTP, FTP ๋ฑ)
๋ธ๋ผ์ฐ์ ๋?
์นํ์ด์ง, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ์ ์ฝํ ์ธ ๋ฅผ ์์ , ์ ์ก ๋ฐ ํํํ๋ ์ํํธ์จ์ด๋ค. ํฌ๋กฌ, ์ฌํ๋ฆฌ, ์ฃ์ง, ํ์ด์ดํญ์ค ๋ฑ์ด ๋ฐ๋ก ๋ธ๋ผ์ฐ์ ๋ค.
์ธํฐ๋ท์ด๋?
'์ปดํจํฐ๋ค์ด ์ฐ๊ฒฐ๋ ํต์ ๋ง'์ด๋ค. ํ๋ ์ด์์ ์ปดํจํฐ๊ฐ ํต์ ํ๊ธฐ ์ํด์๋ ์ํธ๊ฐ์ '์ฐ๊ฒฐ'์ด ํ์ํ๋ค. ์ด๋ ๊ฒ ์ ์ธ๊ณ ์ปดํจํฐ๋ค์ ํ๋๋ก ์ฐ๊ฒฐํ๋ ๊ฑฐ๋ํ ๋คํธ์ํฌ๊ฐ ๊ณง ์ธํฐ๋ท์ด๋ค.
์ฌ๋ฌ ์ปดํจํฐ๊ฐ ๊ฐ๊ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ก ์๋ก ์ฐ๊ฒฐ๋์ด ๊ตฌ์ฑ๋ ๋ง์ Computer Network๋ผ๊ณ ํ๋ค. ์ธํฐ๋ท์ ์ด๋ฌํ ์ปดํจํฐ ๋คํธ์ํฌ๊ฐ ์ ์ธ๊ณ์ ์ธ ๊ท๋ชจ๋ก ์์์ด ๋ง์ด ๋ชจ์ฌ์ ์ด๋ฃจ์ด์ง ์ผ์ข ์ ์ปดํจํฐ ๋คํธ์ํฌ ์์คํ ์ธ ๊ฒ์ด๋ค. ์ฆ, ์ธํฐ๋ท์ ์๋ง์ ํด๋ผ์ด์ธํธ ์ปดํจํฐ์ ์๋ฒ ์ปดํจํฐ๋ก ๊ตฌ์ฑ๋ ๋คํธ์ํฌ์ ์งํฉ์ฒด๋ค.
ํจํท
ํจํท์ ์ปดํจํฐ ๋คํธ์ํฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ ์ก๋๋ ์์ ๋จ์๋ค. ๋ฐ์ดํฐ๋ฅผ ํจํท ๋จ์๋ก ์ชผ๊ฐ์ด ํต์ ํ์ฌ ํจ์จ์ ๋์ธ๋ค. ์ฐ์ฒด๊ตญ์์ ํ๋ฌผ์ ์ ๋นํ ๋ฉ์ด๋ฆฌ๋ก ๋๋ ํ์ ์ง๋ฅผ ํ์ํ๋ ๊ผฌ๋ฆฌํ๋ฅผ ๋ถ์ด๋๋ฐ, ์ด ๋ฐฉ์์ ๋ฐ์ดํฐ ํต์ ์ ์ ๋ชฉํ ๊ฒ์ด๋ผ๊ณ ํ ์ ์์ด๋ค.
๋ผ์ฐํฐ(๊ณต์ ๊ธฐ)
Route = ๊ฒฝ๋ก. router๋ ๋คํธ์ํฌ ์์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ฌ๋ฌ '๊ฒฝ๋ก'๋ค ๊ฐ์ด๋ฐ ๊ฐ์ฅ ๋น ๋ฅธ ๊ธธ์ ์ฐพ์๋ด๋ ์ญํ ์ ํ๋ ์ฅ๋น๋ค.
ํจํท์ ๋ชฉ์ ์ง ์ฃผ์๋ฅผ ํ์ธํ๊ณ ๋ชฉ์ ์ง๊น์ง ํจ์จ์ ์ผ๋ก ๋๋ฌํ ์ ์๋ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๊ณ ๊ทธ ๊ฒฝ๋ก์ ๋ฐ๋ผ ์ ์ก์ ํ๋ ๊ฒ์ '๋ผ์ฐํ '์ด๋ผ๊ณ ํ๋ค. ๋ํ ํ๋์ ๊ณต์ธ IP๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ๊ฐ์ ๊ธฐ๊ธฐ๊ฐ ์ธํฐ๋ท์ ์ฌ์ฉํ๊ธฐ ์ํด ์ค๊ฐ๋ค๋ฆฌ ์ญํ ์ ํด์ฃผ๋ ๋คํธ์ํฌ ๊ธฐ๊ธฐ์ด๊ธฐ๋ ํ๋ค.
IP์ฃผ์๋
๊ฑฐ๋ํ ์ธํฐ๋ท์ ๊ตฌ์ฑํ๋ ๊ฐ ์ปดํจํฐ์ ํน์ ํ ์ด๋ฆ ๋๋ ์ฃผ์๋ค. IP์ฃผ์๋ 173.194.121.32์ฒ๋ผ ์ธ ๊ฐ์ ์ ์ผ๋ก ๊ตฌ๋ถ๋๋ ์ซ์๋ก ๊ตฌ์ฑ๋๋๋ฐ, ๋งค๋ฒ ๊ธฐ์ตํ๊ธฐ ํ๋ค๊ธฐ ๋๋ฌธ์ 'google.com'๊ณผ ๊ฐ์ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ค . ๊ทธ๋ฌ๋ ํจํท์ด๋ ๋ฐ์ดํฐ ๋ผ์ฐํ ์ IP์ฃผ์๋ฅผ ์ด์ฉํ์ง ๋๋ฉ์ธ๋ค์์ ์ด์ฉํ์ง ์๋๋ค. (์ฐํธ์ด ์ฐ๋ฆฌ์ง ์ฃผ์๋ฅผ ๋ณด๊ณ ๋ฐฐ์ก๋์ง, ์ฐ๋ฆฌ ์ด๋ฆ์ ๋ณด๊ณ ๋ฐฐ์ก๋๋๊ฒ ์๋ ๊ฒ๊ณผ ์ ์ฌํ๋ค.)
Web Server & WAS
์น์๋ฒ๋ค์ ์๋ฒ์์ ์๋ํ๋ฉฐ http ์์ฒญ์ด ์ค๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๊ฐ, http ์์ฒญ์ด ์ค๋ฉด ๊ทธ์ ๋ฐ๋ฅธ ์ ์ ํ ์๋ต์ ํ๋ค.
1) Web server : ์ ์ Static ํ์ด์ง -html, css๋ก ์์ฑ๋ ํ์ผ๋ค์ ์ ๊ณต, WAS๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์์์ ์ ๊ณต, ๋์ ์ธ ์ฝํ ์ธ ์ ๊ณต์ ์ํ ์์ฒญ ์ ๋ฌ(ํด๋ผ์ด์ธํธ์ ์์ฒญ์ WAS์ ๋ณด๋ด๊ณ , WAS๊ฐ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ๋ค์ ์ ๋ฌํ๋ค.) ex. Apache Server, Nginx,๋ฑ
2) WAS(Wev Application Server) : ์ ์ + ๋์ Dynamic ํ์ด์ง๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ,
Web server + '์น ์ปจํ ์ดํฐ(Web Container)
WAS๊ฐ ์ ์ , ๋์ ์ฝํ ์ธ ๋ชจ๋ ๋ค๋ฃฐ ์ ์์ผ๋ ๋ณดํต ์น์๋ฒ์ WAS๋ฅผ ๋๋ค ์ฌ์ฉํด ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์๋ฒ ๋ถํ๋ฅผ ๋ฐฉ์งํ๋ ๊ฒ์ด๋ค. ๋ํ ๋ณด์์ ๊ฐํํ๋ ์ญํ ์ ํ๊ธฐ๋ ํ๋ค. ๋ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ฌด์ค๋จ ์ด์์ ๋ฐฉํดํ๋ ์ฅ์ ๋ค์๋ ์ฝ๊ฒ ๋์ํ ์ ์๊ฒ ๋๋ค.
๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ URL ๊ฐ์ ์ ๋ ฅ์์ผฐ์ ๋ ์์ฒญ๊ณผ ์๋ต์ ๊ณผ์
๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ณ URL์ ์ ๋ ฅํ๋ ์๊ฐ๋ถํฐ HTTP ์์ฒญ์ด ์์๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ URL์ฃผ์์ ํด๋นํ๋ ๋ชฉ์ ์ง(์น์๋ฒ)์ ๋์ฐฉํด์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ , ๊ทธ ๋ชฉ์ ์ง(์น์๋ฒ)์์ ์๋ตํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ฒ ๋๋ค.
์ข๋ ์์ธํ ๋งํด, ๋ธ๋ผ์ฐ์ ์ URL์ ์ ๋ ฅํ๋ฉด URL์ ์ ํ ๊ฐ์ ํ์ฑํ๊ณ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ๋ง๋ ๋ค. ๋ง๋ค์ด์ง ์์ฒญ ๋ฉ์์ง๋ฅผ ์น ์๋ฒ๋ก ์ ์กํ๋ค. ๋ธ๋ผ์ฐ์ ๋ ๋ฉ์์ง๋ฅผ ๋คํธ์ํฌ์ ์ง์ ์ก์ถํ ์ ์๋ค. ๋ฐ๋ผ์, OS์ ์๋ขฐํด์ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๋ค. OS์ ์ก์ ์ ์๋ขฐํ๊ธฐ ์ํด์๋, IP ์ฃผ์๋ก ๋ฉ์์ง๋ฅผ ๋ฐ์ ์๋๋ฅผ ์ง์ ํด์ผํ๋ค. ๋ฐ๋ผ์ DNS(Domain Name Server)๋ฅผ ์กฐํํด์ผ ํ๋ค.
์ดํ, ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒญํ ๋ฉ์์ง๊ฐ ์น์๋ฒ ์ธก LAN์ ๋์ฐฉํ๋ฉด ๋ฐฉํ๋ฒฝ์ด ๊ฒ์ฌ๋ฅผ ํ๋๋ฐ, ์บ์์๋ฒ๋ฅผ ํตํด ์น์๋ฒ๊น์ง ๊ฐ์ผํ๋ ์ง ์๋์ง ์กฐ์ฌํ๋ค. ์ก์ธ์คํ ํ์ด์ง์ ๋ฐ์ดํฐ๊ฐ ์บ์์๋ฒ์ ์์ผ๋ฉด ์น์๋ฒ์ ์๋ขฐํ์ง ์๊ณ ๋ฐ๋ก ๊ฐ์ ์ฝ์ ์ ์๋ค. ํ์ด์ง์ ๋ฐ์ดํฐ ์ค ๋ค์ ์ด์ฉํ ์ ์๋ ๊ฒ์ ์บ์ ์๋ฒ์ ์ ์ฅ๋๋ค.
์น์๋ฒ์ ๋์ฐฉํ๋ฉด ํจํท์ ๋ด๊ธด ๋ฉ์์ง๋ฅผ ๋ณต์ํด์ WAS์ ๋๊ธด๋ค. WAS์ ์์ฒญ ๋ฉ์์ง์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ๋ฅผ ์๋ต ๋ฉ์์ง์ ๋ฃ์ด ํด๋ผ์ด์ธํธ๋ก ๋ค์ ๋ณด๋ธ๋ค. ์น ๋ธ๋ผ์ฐ์ ๋ ์ญ์ผ๋ก ์น ์๋ฒ๋ก๋ถํฐ HTTP๋ฅผ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ก๋ฐ๊ณ , ๋ ๋๋ง ์์ง์ ์ฌ์ฉํด ์ด๋ฅผ ํ ์คํธ ๋ฐ ์ด๋ฏธ์ง ๋ฑ์ผ๋ก ๋ณํํ๋ค. ๋ธ๋ผ์ฐ์ ๋ ์ต์ข ํ๋ฉด์ ์ฌ์ฉ์์๊ฒ ํ์ํ๋ ์ญํ ์ ํ๋ค.
์ฐธ๊ณ ์๋ฃ
opentutorials.org/course/3781/25116
gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html