3. 001/웹서버
웹서버란?(정적 서버 컨텐츠를 수행)
소프트웨어와 하드웨어로 구분.
하드웨어 = Web서버가 설치되어 있는 컴퓨터를 의미.
소프트웨어 = 클라이언트로 부터 HTTP 요청을 처리하는 컴퓨터 프로그램을 의미.
(클라이언트 HTTP 요청(Request) [GET, POST, DELETE, PUT 등] 에 대해 어떤 결과(Response)를 돌려주는 기능.)
웹서버는 HTTP 요청을 처리하므로, HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스 하는 기능을 담당.
- Apache, IIS(Internet Information Server), WebtoB 등
4. WAS란?(동적 서버 컨텐츠를 수행)
WAS(Web Application Server) 라고 이야기 하며, WAS는 웹서버와 웹 컨테이너의 결합으로
다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 이야기 한다.
- 웹 서버 + 웹 컨테이너(영어권에서는 Application Server로 불린다)
- 가장 많이 사용하는 WAS는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등
이 있다.
- J2EE 스펙을 구현한 서버(JSP / Servlet Container와 EJB Container 로서의 기능)
- Tomcat은 JSP / Servlet Container의 기능을 구현했으나 EJB Container로서의 기능은 없다. 따라서, Tomcat은 WAS가 아니
라는 사람들도 있다.
* J2EE : Java 2 Enterprise Edition 엔터프라이즈 환경을 위한 도구로 EJB, JSP, Servlet, JNDI같은 기능을 지원하며 웹 애플리케이션 서버를 이
용하는 프로그램 개발시 많이 사용
002/WAS
5. WAS에서 의미하는 Container(컨테이너)
- JSP와 서블릿을 이용하는 웹 응용 프로그램은 자바 언어를 이용해서 작성할 수 있는데, JSP와 서블릿을
실행시킬 수 있는 소프트웨어를 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)라
고 한다.
- Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며, 대표적인 웹 컨테이너로는 자카르타,
톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.
- 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고, 서블릿의
수행결과를 웹 서버에서 전달하게 된다.
002/WAS
6. Final/차이점은?
웹서버와 WAS의 차이점
웹서버 : HTML문서같은 정적 컨텐츠를 처리.
WAS : ASP, JSP, PHP 등 개발 언어를 읽고 처리하여 동적 컨텐츠, 웹 응용 프로그램 서비스를
처리.
-> 하지만, 요즘에 나오는 WAS는 웹 서버의 기능을 포함하고 있다.
-> 그럼 WAS만 쓰면 되지 왜? 웹서버도 쓰고, WAS도 쓸까?
이 둘의 목적이 다르기 때문. 웹서버는 정적인 HTML, 이미지와 같은 리소스를 처리하고 제공.
WAS는 동적인 처리를 담당하기 때문이다.