정적, 동적 페이지
Static Pages
웹 서버는 파일 경로 이름을 받고, 경로와 일치하는 file contents를 반환함. 항상 동일한 페이지를 반환 함.
Dynamic Pages
인자의 내용에 맞게 동적인 contents를 반환함. 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물(Servlet : was 위에서 돌아가는 자바 프로그램)
Web Server
정의
- 하드웨어 : Web 서버가 설치되어 있는 컴퓨터
- 소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받고, 정적인 컨텐츠(html,css 등)을 제공하는 컴퓨터 프로그램
기능
- 정적 컨텐츠 제공(WAS를 거치지 않고 바로 자원 제공)
- 동적 컨텐츠 제공을 위한 요청 전달(클라이언트 요청을 WAS에 보내고, WAS에서 처리한 결과를 클라이언트에게 전달)
- Apache, Nginx, IIS 등
필요성
- 웹 서버에서는 정적 컨텐츠만 처리하도록 기능 분배를 해서 서버 부담을 줄임
WAS(Web Apllication Server)
정의
DB 조회 및 다양한 로직 처리 요구시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버. HTTP를 통해 애플리케이션을 수행해주는 미들웨어다. WAS는 웹 컨테이너 혹은 서블릿 컨테이너(Servlet을 실행시킬 수 있는 소프트웨어)라고도 불림
WAS = Web Server + Web container
기능
- 프로그램 실행 환경 및 DB 접속 기능 제공
- 여러 트랜잭션 관리 기능
- 업무 처리하는 비지니스 로직 수행
- Tomcat, JBoss
필요성
- Was를 통해 요청에 맞는 데이터를 DB에서 가져와 비지니스 로직에 맞게 그때마다 결과를 만들고 제공하면서 자원을 효율적으로 사용할 수 있음