웹서버와 WAS

·2023년 3월 30일
1

개발 지식

목록 보기
52/96
post-thumbnail

웹 서버와 WAS의 차이

웹 서버는 정적인 콘텐츠, 즉 HTML 파일, 이미지, CSS 파일 등을 처리하는 것이 가능하다.

반면 WAS는 웹 서버의 기능을 내장하여 기존 기능을 그대로 적용하면서도, 비즈니스 로직을 통해 동적인 컨텐츠를 처리하는 것이 가능하다. 스프링이나 node.js 를 사용해봤다면 jsp, thymeleaf, ejs, pug 등을 사용해본 경험이 있을 것이다. 이러한 템플릿 엔진의 처리가 가능한 서버가 WAS 이다.

웹 서버는 단순히 web server의 기능만 가지고 있고, WAS는 web server + web container 의 개념을 가지고 있다.

웹 서버 종류

  • Apache : 무료 오픈 소스 웹 서버이며 가장 많이 사용되고 있는 웹서버이기도 하다.

  • Nginx : Nginx는 Apache 웹 서버와 기능이 비슷하면서도, Apache 보다 적은 자원을 사용한다는 점에서 각광받고 있다. 퍼블릭 클라우드의 등장이후에는 서비스 비용관리가 더욱 중요시 되며 Nginx 을 더 많이 사용하게 되었다.

WAS 종류

  • Tomcat : Java 진영에서 많이 사용하는 Apache 에서 개발한 오픈 소스 서블릿 컨테이너이다. 스프링부트에 기본적으로 내장되어 있으며 Java Server Pages (JSP)와 Java Servlet을 실행할 수 있다.

  • Jetty : 경량화된 WAS로, Tomcat 과 동일하게 JSP 및 Java Servlet 을 실행할 수 있으며 가벼우면서도 속도가 빠르기에 소규모 어플리케이션에 자주 사용된다. 단 대규모 트래픽에는 취약하다.

프론트 웹 서버?

프론트에서 개발을 위해 사용되는 서버로 현재까지의 작업상황을 확인하기 위해 사용한다.

핫 리로딩

개발용 서버에 꼭 필요한 기능으로, 변경내역이 존재하는 경우 서버 중단 없이 바로 해당 업데이트를 반영한 결과물을 나오게 해주는 기능이다. webpack-dev-server 는 기본적으로 설정 할 수 있도록 내장되어 있으며 node.js 의 경우 nodemon을 사용한다. WAS 는 아니지만 docker 의 경우에는 바인드 마운트를 핫 리로딩과 비슷한 결과를 가져올 수 있다.

프론트앤드에서 사용되는 웹 서버

  • Node.js : 동일한 자바스크립트으로 작업되기 때문에, 구현하여 적용하기 가장 빠르다. 보편적으로 많이 사용된다.

  • Webpack Dev Server : 개발 환경에서 사용되는 간단한 웹 서버로, CRA 사용시 자동으로 내장되어 실행되는 개발 서버이다.

  • live-server : VSC 의 익스텐션으로 설치하여 간편하게 사용하는 것이 가능하다. 핫 리로딩이 기본적으로 적용되어 있다.

profile
새로운 것에 관심이 많고, 프로젝트 설계 및 최적화를 좋아합니다.

0개의 댓글