- 웹서버는 소프트웨어를 보통 말하지만, 웹서버 소프트웨어가 동작하는 컴퓨터를 말한다.
- 웹서버의 가장 중요한 기능은 클라이언트가 요청하는 html 문서나 각종 리소스를 전달하는 것이다.
- 웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장된 정적 데이터거나 동적인 결과가 될 수 있다.
- DBMS - 다수의 사용자들이 db 내의 데이터를 접근할 수 있도록 해주는 소프트웨어
- 미들웨어 - 클라이언트 쪽에 비즈니스 로직이 많을 경우, 클라이언트 관리로 인해 비용이 많이 발생하는 문제가 발생한다. 비즈니스 로직을 클라이언트와 DBMS 사이의 미들웨어 서버에서 동작하도록 함으로써 클라이언트는 입력과 출력만 담당하도록 한다.
- WAS는 일종의 미들웨어로 웹 클라이언트의 요청 중 보통 웹 애플리케이션이 동작하도록 지원하는 목적을 가진다.
- CGI(Common Gateway Interface)는 웹 서버에서 프로그래밍하는 것이다. 점점 복잡한 로직을 요구하면서 미들웨어를 따로 필요로 하게 됐다.
WAS(Web Application Server)의 중요한 기능 3가지
1. 프로그램 실행 환경과 DB 접속 기능 제공
2. 여러 개의 트랜잭션을 관리 - *트랜잭션: DB의 상태를 바꾸는 작업(연산) 단위
3. 업무를 처리하는 비즈니스 로직을 실행
WAS는 보통 자체적으로 웹 서버 기능을 내장하지만, 규모가 커지면 장애 극복 기능을 위해 웹 서버와 WAS를 분리하여 사용한다.
웹 서버는 WAS보다 간단하므로, WAS에서 문제가 생길 가능성이 커, 클라이언트와 WAS 사이에서 요청을 중계해준다. 이런 역할을 하는 서버를 프록시 서버라고 한다. -> 웹 서버와 WAS를 둘 다 사용하면, 웹 서버는 프록시 서버의 용도로 사용된다.(Proxy Server)
톰캣은 WAS다.
'study > jsp, servlet ...' 카테고리의 다른 글
표현 언어 - EL(Expession Language) (0) | 2021.03.16 |
---|---|
scope (0) | 2021.03.09 |
redirect, forward + servlet, jsp (0) | 2021.03.07 |
JSP (0) | 2021.03.02 |
Servlet (0) | 2021.02.26 |