웹 서버와 웹 어플리케이션 서버(WAS)의 차이

민선규·2023년 2월 16일
0

네트워크

목록 보기
6/16
post-thumbnail

웹 서버

  • 웹 서버란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버이다. 정적 컨텐츠란 단순 HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠이다.
  • 이때 웹 서버가 정적 컨텐츠가 아닌 동적 컨텐츠를 요청받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달하는 역할도 해준다.
  • 웹 서버에는 Apache, NginX 등이 있다.

WAS

  • WAS란 DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버이다.
  • HTTP 프로토콜을 기반으로 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로서, 주로 데이터베이스 서버와 같이 수행된다.
  • WAS는 JSP, Servlet 구동환경을 제공해주기 때문에 서블릿 컨테이너 혹은 웹 컨테이너로 불린다.
  • WAS에는 Tomcat, JBoss, WebSphere 등이 있다.

웹 서버와 WAS

WAS는 Web Server와 Web Container의 역할을 모두 할 수 있다. 여기서 컨테이너는 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다.

웹 서버와 WAS를 분리하는 이유

  • 서버 부하 방지 : WAS는 DB 조회나 다양한 로직을 처리하고, 단순한 정적 컨텐츠는 웹 서버에서 처리해줘야 한다. 만약 정적 컨텐츠까지 WAS가 처리한다면 부하가 커지게 되고, 수행 속도가 느려질 것이다.
  • 보안 강화 : SSL에 대한 암호화, 복호화 처리에 웹 서버를 사용 가능하다.
  • 여러 웹 어플리케이션 서비스 가능 : 하나의 서버에서 PHP, JAVA 애플리케이션을 함께 사용할 수 있다.
  • 즉, 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성 을 위해 Web Server와 WAS를 분리한다.

웹 서비스 아키텍처

  • Client -> Web Server -> DB
  • Client -> WAS -> DB
  • Client -> Web Server -> WAS -> DB

Client -> Web Server -> WAS -> DB 동작 방식

참고 문서 및 링크

0개의 댓글