Web Server와 WAS
공부 배경
웹 개발자, 그 중에서도 백엔드 개발자로서 공부를 하고 있지만, 근본적으로 ‘Web Server가 뭐냐?’ 했을 때, 확실하게 아니, 모호하게도 답을 못하는 것 같다.
하고 싶은 일은데 적어도 기본은 알아야 하지 않겠냐 스스로 생각하며, 이에 대한 지식을 찾던 도중, Web Server vs WAS에 대한 자료를 찾았고 이를 정리해보면 좋을 것 같았다.
Web Server
Web
인터넷을 기반으로 한, 정보를 공유하고 검색할 수 있게 하는 서비스
- URL (주소)
- HTTP(통신 규칙)
- HTML (내용)
Server
클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템
Web Server
인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터
WAS
Web Application Service
- Web에서 실행되는 응용프로그램
- 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크
- 웹 애플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에 전달
- php, jsp, asp와 같은 언어를 사용해 동적인 페이지를 생성할 수 있는 서버
- 프로그램 실행 환경과 데이터 베이스 접속 기능 제공
- 비즈니스 로직 수행 기능
- Web Server + Web Container
그럼 WAS가 있는데 Web Server를 왜 두어야 하는가?
1. 책임 분할을 통한 서버 부하 방지
정적 컨텐츠는 Web Server, 동적 컨텐츠는 WAS가 담당하게 하므로써 서버의 부하를 방지 할 수 있다.
2. 여러대의 WAS 로드 밸런싱
WAS가 처리해야하는 요청을 여러 WAS가 나누어 처리할 수 있도록 Web Server에서 설정한다.
3. 여러대의 WAS Health Check
Web Server가 WAS에 주기적으로 Http 요청을 보내 서버의 상태를 확인한다.
ex)
4. 보안
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.