web server와 was
web server와 was가 어떠한 차이점이 존재하는지에 대해서 한 번 작성해 보도록 해 볼 것이다.
web server
web server
web server는 client가 요청한 정적 콘텐츠를 HTTP 프로토콜을 통하여 제공해 주는 서버이다.
-> 정적 콘텐츠는 was를 거치지 않고 클라이언트에게 바로 응답해 준다.
그럼 동적인 자원들은?
-> 1. 클라이언트의 요청을 was로 전달해 주는 역할을 수행한다.
-> 2. was가 응답한 결과를 client에게 반환한다.
구분
web server는 소프트웨어랑 하드웨어 총 2가지로 구분할 수 있다.
- 소프트웨어: 클라이언트에게 정적인 콘텐츠( html, css )를 제공하는 프로그램이다.
- 하드웨어: web server가 설치가 된 컴퓨터이다.
web server kind
대표적으로 많이 사용하는 3가지만 넣어봤다.
- apache HTTP server: 아파치 소프트웨어 재단에서 관리하는 오픈소스 소프트웨어이다.
- NGINX: 트래픽이 많은 웹 사이트의 확장을 돕기 위해 개발된 경량화 웹 서버 프로그램이다.
- IIS WEB Server: Windows Server에서 구동되는 웹 서버이다, MIcrosoft에서 지원한다.
was
WAS ( Web Application Server )
was는 일종의 미들웨어로 web server를 통해 오게 되는 동적인 요청을 처리하는 서버이다.
was는 DB 조회 및 다양한 로직처리를 요구하는 동적인 콘텐츠를 제공해 준다.
대표적으로 was는 tomcat이 존재한다.
- tomcat: 아파치 소프트웨어 재단의 web application server이다.
기능
web server와 was의 기능을 분리한 이유는 무엇일까?🤔
기능을 분리한 이유
1. was가 정적인 자원과 동적인 자원 모두 처리할 수 있다고 해도, 대량의 데이터를 처리하는 데에 한계가 있기 때문이다.
2. 요청 수가 많을 경우 was도 부하가 쉽게 걸릴 수 있기 때문이다.
-> 서버 부하 방지를 위해 web server와 was를 분리한다.
기능을 분리함으로 얻을 수 있는 것
1. 서버 부하 방지
2. 보안 강화
3. 여러 웹 서비스 운영
4. fail over, fail back 처리