💻 웹서버(Web Server) 

정적 컨텐츠(html, css, js)를 제공하는 서버. (ex. Apache, Nginx)

HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에 요청을 하면 그 요청을 받아 정적 컨텐츠로 제공함.

동적 컨텐츠를 요청받으면 WAS에게 요청 넘겨줌, WAS에서 처리한 결과 클라이언트에 전달

💻 WAS(Web Application Server)

동적 컨텐츠를 제공하는 서버. (ex. Tomcat(=Apache Tomcat, JBoss, WebSphere)

DB조회 또는 비즈니스 로직을 처리하는 동적 컨텐츠 구동이 가능한 서버.

WAS는 JSP, Servlet 구동환경을 제공해주기 때문에 서블릿 컨테이너, 웹 컨테이너로 불린다.

WAS는 Web Server와 Web Container 역할 모두 가능.

🙋 그렇다면 WAS가 웹서버 기능까지 수행하는데, 분리해서 연동하는 이유는?

  • 처리 속도 : WAS는 독립적인 웹서버보다 처리속도 느림 > 서비스 품질저하 될 수 있음
  • 서버 부하 방지 : 분리해서 서버의 부하를 방지함. 정적 컨텐츠까지 WAS가 한다면 부하가 커지고, 수행속도 느려질 것.
  • 보안 강화 :  SSL(Secure Sockets Layer - 보안 소켓 계층 : 웹 사이트와 브라우저 사이 혹은 두 서버 사이에 전송되는 데이터를 암호화하여 인터넷 연결 보호하기위한 표준 기술)에 대한 암호화, 복호화 처리에 웹서버 사용 가능
  • 여러 WAS 연결 가능 : 로드밸런싱(여러 서버들로 대규모의 네트워크 트래픽을 분산 처리하는 기술/로드=부하,밸런싱=분산, 즉 네트워크나 서버에 가해지는 부하를 분산해주는 기술)을 위해 웹서버 사용할 수 있음. 여러 개의 서버를 사용하는 대용량 웹어플리케이션의 경우 웹 서버와 WAS를 분리하여 무중단 운영을 위한 장애 극복(작동 중지된 WAS가 있다면 대신해 다른 WAS를 사용하여 장애를 극복함)에 쉽게 대응할 수 있음

 

 

+ Recent posts