으나님의 잡다한 개발상식
[Web] WAS / Web Server / Web Container 본문
웹을 다시 공부하다 보니 내가 WAS(웹 애플리케이션 서버)와 웹 서버, 웹 컨테이너에 대한 지식이 매우 부족했음을 느끼고 있다.
이에 대해서 정말 간결하게 잘 정리한 영상을 발견했다!!
내 수준에서는 이보다 더 좋게 설명할 수는 없을 것 같다 ㅠ
https://www.youtube.com/watch?v=NyhbNtOq0Bc
영상 내용을 간단히 정리하면,
1. 웹 서버
- 클라이언트에게 정적 페이지만 제공할 수 있다.(html, css, 이미지 등)
- 따라서 상황에 따라 다른 정보를 제공할 수 없고, 모든 클라이언트에게 동일한 페이지를 제공한다.
- 대표적인 웹 서버로 Apache가 있음
2. 웹 애플리케이션 서버(WAS)
- 웹 애플리케이션이 돌아가는 서버로, 상황에 따라 클라이언트에게 다른 정보를 제공할 수 있다!
- 웹서버+웹컨테이너로 이뤄져 있다.
- 정적인 정보 제공시에는 웹서버를 통해 정보를 제공하지만, 상황에 따라 다른 정보(동적 정보)를 제공해야 할 때에는 웹서버를 거쳐 웹 컨테이너에서 처리하게 된다. 웹 컨테이너는 서블릿을 통해 클라이언트가 요청하는 정보를 가공한다.
- 대표적인 WAS로 Tomcat이 있음
3. 웹 컨테이너
- 서블릿을 실행시키는 소프트웨어
php도 함께 공부하고 있는 지금, 그럼 언어별로 다 웹서버랑 was서버의 원리가 동일한지 궁금했다.
결론은 동일하다!
그래서 찾아봤더니 다음과 같았다!
1. 언어별 웹서버 구성
-(JAVA) JSP, Servlet -> 아파치 톰켓 -> WAS 서버 (WEB서버 내장)
-(C,C++) PHP -> RWAPM -> WAS 서버 (WEB서버 내장)
-(MFC, .NET) ASP, ASPX -> IIS ->WAS 서버 (WEB서버 내장)
결론!
웹 서버는 html파일만 읽을 수 있고, 정적 페이지의 한계를 극복하기 위한 방안으로 was서버가 나왔다.
그 동적 페이지 내의 로직을 구성하기 위해 JSP, ASP, PHP 등이 나온 거고
웹 서버는 html이 아닌 파일(JSP, ASP, PHP)을 웹 컨테이너로 보내서 로직을 통해 html을 생산해내 다시 클라이언트에게 보낸다!
'웹 기초' 카테고리의 다른 글
[Web] 서버와 클라이언트 (0) | 2020.07.21 |
---|---|
세션 (0) | 2019.12.04 |
네트워크/TCP,IP (0) | 2019.11.25 |
네트워크 기초 (0) | 2019.11.05 |
웹&언어 기초 (0) | 2019.11.04 |