본문 바로가기

Programming

WS(Web Server)와 WAS(Web Application Server)

WS(Web Server) 란

 

 

 

웹 서버(Web Server)는 클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받아서 정적인 콘텐츠(HTML 파일, 이미지, CSS, JavaScript 파일 등)를 제공하는 서버 소프트웨어이다. 주로 정적인 웹 페이지를 제공하는 데 사용되며 대표적인 웹 서버로는 Apache HTTP Server, Nginx가 있다.

 

이러한 웹 서버의 특징은 다음과 같다.

 

  1. HTTP 요청 처리
    클라이언트로부터의 HTTP 요청을 받아들이고 이에 대한 응답을 반환한다.

  2. 정적 콘텐츠 제공
    정적인 파일(HTML, 이미지, CSS, JavaScript 등)을 클라이언트에게 제공한다.

  3. 리버스 프록시
    요청을 다른 서버(ex. WAS)로 전달하여 처리 결과를 클라이언트에게 반환할 수 있다.

  4. 로드 밸런싱
    여러 서버에 트래픽을 분산시켜 시스템의 성능과 안정성을 향상시킬 수 있다.

 

 


 

WAS(Web Application Server) 란

 

 

 

웹 어플리케이션 서버(Web Application Server)는 동적인 콘텐츠(ex. JSP)를 생성하여 제공하는 서버 소프트웨어이다. 주로 클라이언트의 요청에 따라 데이터베이스와 상호작용하거나 비즈니스 로직을 처리하여 동적인 웹 페이지나 서비스를 제공한다. 대표적인 WAS로는 Apache Tomcat, JBoss (WildFly) 가 있다.

 

이러한 WAS의 특징은 다음과 같다.

 

  1. 동적 콘텐츠 생성
    클라이언트의 요청에 따라 동적인 콘텐츠(ex. JSP)를 생성한다. 예를 들어 데이터베이스에서 데이터를 가져와 웹 페이지에 동적으로 표시하는 등의 작업을 수행한다.

  2. 웹 서버 기능 보유
    WAS는 기본적으로 웹 서버의 기능도 포함하고 있다. 이는 정적인 콘텐츠(HTML 파일, 이미지, CSS, JavaScript 파일 등)를 제공하는 기능을 포함한다. 또한 HTTP 요청을 처리하고, SSL/TLS 보안 설정을 지원하며 기본적인 세션 관리와 리소스 관리 기능을 제공한다.

  3. 프록시 기능이 없음
    WAS는 자체적으로 리버스 프록시 기능을 제공하지 않는다. 대신 웹 서버(Nginx, Apache HTTP Server 등)와 연동하여 프록시 기능을 구현해야 한다.

 

 


 

WS와 WAS를 모두 사용한 웹 서비스 구현

 

앞서 설명했듯이 WAS는 WS의 기능을 포함하고 있다. 그렇다면 WAS만 가지고 웹 서비스를 구현하는 것이 더 효율적인 것처럼 보인다. 하지만 WS와 WAS를 모두 사용하여 웹 서비스를 구현하면 다음과 같은 장점이 있다.

 

 

 

  1. 역할 분리로 인한 효율성 극대화
    웹 서버는 정적 콘텐츠(HTML, CSS, 이미지 등)를 제공하고, WAS는 동적 콘텐츠를 생성한다. 이를 통해 각 서버가 최적화된 작업을 수행하여 시스템 성능을 향상시킬 수 있다.

  2. 성능 및 확장성
    여러 WAS를 하나의 웹 서버에 연결하여 로드 밸런싱을 구현할 수 있다. 이 방식으로 트래픽을 분산시키며, 성능 향상이 필요할 때 WAS만 추가하여 수평적 확장이 가능하다.

  3. 보안 강화
    웹 서버가 리버스 프록시 역할을 하여 외부로부터 WAS를 숨길 수 있다. 이를 통해 직접적으로 로직을 처리하는 WAS를 보호할 수 있다.

출처 :
https://yozm.wishket.com/magazine/detail/1780/
https://makemethink.tistory.com/169
https://hstory0208.tistory.com/entry/Web%EA%B3%BC-WAS%EB%9E%80-%EC%9B%B9-%EC%84%9C%EB%B9%84%EC%8A%A4%EC%9D%98-%EA%B5%AC%EC%A1%B0%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

 

'Programming' 카테고리의 다른 글

메시지 지향 미들웨어, 메시지 브로커, 메시지 큐  (0) 2024.08.26
Web Socket  (6) 2024.07.13
Forward Proxy, Reverse Proxy  (0) 2024.07.12
CSRF(Cross-Site Request Forgery)  (0) 2024.07.11
XSS(Cross-Site Scripting)  (0) 2024.07.11