티스토리 뷰

CS/공통

Web Server와 WAS(Web Application Server)

bool-flower 2022. 3. 18. 02:30

Web Server


웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공하는 서버.

  • 클라이언트의 요청가장 앞에서 서비스
  • 정적인 컨텐츠(HTML, CSS, JavaScript)를 제공해야 하는 경우 WAS를 거치지 않고 바로 자원 제공
  • 동적인 컨텐츠를 제공해야 하는 경우 클라이언트의 요청(Request)을 WAS로 보내고, 이 후 WAS가 처리한 결과를 클라이언트에게 전달(Response)
  • ex) Apache, Nginx 등

WAS(Web Application Server)


DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 에플리케이션 서버

  • DB 연동, 클러스터링, 로드밸런싱 등을 처리
  • Web Server로부터 전달받은 요청을 처리하여 다시 Web Server로 응답
  • Web ServerWeb Container를 포함
  • Web Container 란 JSP, Servlet 을 실행시킬 수 있는 환경 제공, 동적인 컨텐츠 처리는 결국 JSP ,Servlet 과 같은 기술들을 통해 수행되는데, 이를 관리하는 역할
  • ex) tomcat, Jeus 등

정리 및 느낀점


  • Web Server 는 정적인 컨텐츠 처리, 동적인 컨텐츠에 대한 요청이 왔을 시 WAS에게로 전달 또한 WAS로부터 오는 응답을 클라이언트에게 전달.
  • WAS 는 Web Server 와 Web Container 를 포함한 개념. Web Container가 관리하는 JSP, Servlet 이 실질적으로는 동적인 컨텐츠를 처리.

WAS가 Web Server를 포함한다면 WAS만 사용하면 될텐데 왜 Web Server를 추가로 사용할까 의문이 들었다. 여러 자료를 찾아보면 그러지 않는 이유로 성능 차이를 얘기한다. 아파치와 톰캣의 경우 WAS인 톰캣이 정적인 컨텐츠 요청까지 처리하면 부하가 많아지고 동적인 컨텐츠를 처리하는데 수행 속도가 느려진다는 것이다. 또 톰캣 자체가 정적인 파일 처리에서는 아파치만 못하다고도 한다.

하지만 꼭 그렇지는 않은 것 같다. 톰캣 5.5가 업데이트되면서 정적인 파일을 처리하는 기능을 제공하는데, 이 경우 아파치 웹 서버를 두어서 처리하는 것과 성능에 큰 차이가 없다는 것이다. 정적인 파일 처리 성능만을 위해서라면 Web Server를 둘 필요가 없다고 한다. 로드밸런싱 등과 같은 이유로 Web Server를 사용한다면 필요하다고 하는데, 이 부분은 좀 더 공부해보고 정리해야 할 것 같다.

참조


 

WAS 와 웹 서버 차이 (WAS,Web Server) 그리고 아파치, 톰캣

WAS와 웹 서버 - 웹 서버 (Web Server) 클라이언트가 서버에 페이지 요청을 하면 요청을 받아 정적 컨텐츠(.html, .png, .css등)를 제공하는 서버 클라이언트에서 요청이 올 때 가장 앞에서 요청에 대한

jeong-pro.tistory.com

 

[Web] 웹 서버와 WAS의 차이를 쉽게 알아보자

서버 개발에 있어서 가장 기초적인 개념인 '웹 서버'와 'WAS(Web Application Servier)'의 차이점을 다뤄보려고 한다. 💡 웹 서버 사전적 정의 "웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML

codechasseur.tistory.com

 

Web Server와 WAS의 차이 | 👨🏻‍💻 Tech Interview

Web Server와 WAS의 차이 웹 서버와 was의 차이점은 무엇일까? 서버 개발에 있어서 기초적인 개념이다. 먼저, 정적 페이지와 동적 페이지를 알아보자 Static Pages 바뀌지 않는 페이지 웹 서버는 파일 경

gyoogle.dev

 

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

아파치와 톰캣의 차이

보통 우리는 컴퓨터를 사용할 때 웹 페이지를 띄워서 정보를 검색하고 다양한 콘텐츠를 즐긴다. 예를 들어 내가 유투브에서 동영상이 보고 싶다면, 웹 브라우저(크롬, 파이어폭스, IE)에서 유투

limmmee.tistory.com

'CS > 공통' 카테고리의 다른 글

VO vs DTO vs Entity  (0) 2022.08.01
객체지향설계의 5대 원칙  (0) 2022.02.22
싱글톤(Singleton) 패턴  (0) 2022.02.20
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday