웹 서버 (Web Server)
웹 (Web)
: 인터넷을 기반으로 하여 정보를 공유 및 검색할 수 있도록 하는 서비스. URL(주소), HTTP(통신 규칙), HTML(내용)으로 구성되어 있다.
서버 (Server)
: 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템.
웹 서버 (Web Server)
: 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터
- 클라이언트 입장에서는 웹 서버에게 주소(url)를 가지고 통신규칙(http)에 맞게 요청하면 알맞은 내용(html)을 응답 받는다. 그리고 서버는 클라이언트의 요청을 기다리고 웹 요청(http)에 대한 데이터를 만들어서 응답한다. 이 때 데이터는 웹에서. 처리할 수 있는 정적인 데이터(html, css, image 등)로 한정된다. 그리고 html은 프로그래밍 언어가 아니다. DB랑 연결이 되지도 않고 한계가 많다.
WAS (Web Application Server)
- html은 프로그래밍 언어가 아니지만 JAVA는 프로그래밍 언어다.
- 웹 어플리케이션 : 웹에서 실행되는 응용 프로그램
- 어플리케이션을 통해 html의 한계를 극복할 수 있게 되었다.
웹 어플리케이션 서버 (WAS ; Web Application Server)
: 웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크. 웹 어플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달하는 미들웨어.
- 웹 서버는 html 외에 php, jsp, asp 와 같은 언어를 사용해 동적인 페이지를 생성할 수 있는 서버다.
- 프로그램 실행 환경과 데이터 베이스 접속 기능을 제공한다.
- 비즈니스 로직을 수행 가능하다.
- 웹 서버 + 웹 컨테이너
** 컨테이너 : jsp, servlet 을 실행시킬 수 있는 소프트웨어
- 자바 계열에서는 웹 어플리케이션 컨테이너라고 부른다.
** 웹 어플리케이션 컨테이너 : 웹 어플리케이션이 배포되는 공간
- WAS = Web Server + Web Container
클라이언트가 웹 서버에 동적 페이지를 요청할 시 웹 서버는 그것을 웹 컨테이너로 전송한다. 그러면 웹 컨테이너는 Servlet 구동 환경을 제공하고 동적 컨텐츠를 생성한다. 웹 서버는 그 동적 컨텐츠를 받아 클라이언트에게 전송한다.
종류
- Web Server : APACHE, IIS, 엔진엑스
- WAS : 톰캣, IBM, JEUS, WebSphere
결론
- 상황에 따라 변하는 정보를 제공할 수 있는가에 따른 차이.