Web Server vs WAS

Web Server vs WAS

Web Server

client web으로 부터 http 요청을 받아들이고 html 같은 웹페이지를 반환하는 프로그램

ex) Aphache, Nginx...

역할

보통 client와 WAS 사이에 위치함. client에 정적 파일을 제공(html, image, css, js ...) client로 부터 들어온 동적 요청을 WAS로 전달. WAS에서 처리한 부분을 다시 client에 전달.

WAS(Web Application Server)

WAS는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다. 웹서버와 웹컨테이너가 합쳐진 형태,

웹컨테이너: 웹서버에서 요청한 파일들의 수행 결과물을 다시 웹서버로 보내줌.

ex) Tomcat, Jboss...

역할

다양한 비지니스 로직의 처리가 가능하기 때문에 DB와 연동해 동적 컨텐츠를 제공할 수 있다. 단순한 정적 컨텐츠도 제공 가능함.

WAS는 웹서버의 기능까지 할 수 있는데 왜??

  • WAS는 DB조회, 각종 비지니스 로직 처리 등에 집중 하는게 좋다.
  • WAS가 정적 컨텐츠 요청까지 처리 하면 효율성이 떨어짐.(동적 컨텐츠 처리 지연)
  • 단순한 정적 컨텐츠 제공은 웹서버에 기능 분리시켜 서버 부하를 방지한다.

[참고]

# Web Server vs WAS

### Web Server
> client web으로 부터 http 요청을 받아들이고
> html 같은 웹페이지를 반환하는 프로그램
>
> ex) Aphache, Nginx...
>
> ### 역할
> 보통 client와 WAS 사이에 위치함.
> client에 정적 파일을 제공(html, image, css, js ...)
> client로 부터 들어온 동적 요청을 WAS로 전달.
> WAS에서 처리한 부분을 다시 client에 전달.

### WAS(Web Application Server)
> WAS는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며,
> 주로 데이터베이스 서버와 같이 수행이 된다.
> 웹서버와 웹컨테이너가 합쳐진 형태,
>
> 웹컨테이너: 웹서버에서 요청한 파일들의 수행 결과물을 다시 웹서버로 보내줌.
>
> ex) Tomcat, Jboss...
> 
> ### 역할
> 다양한 비지니스 로직의 처리가 가능하기 때문에 DB와 연동해
> 동적 컨텐츠를 제공할 수 있다.
> 단순한 정적 컨텐츠도 제공 가능함.
>   


WAS는 웹서버의 기능까지 할 수 있는데 왜??
- WAS는 DB조회, 각종 비지니스 로직 처리 등에 집중 하는게 좋다.
- WAS가 정적 컨텐츠 요청까지 처리 하면 효율성이 떨어짐.(동적 컨텐츠 처리 지연)

* 단순한 정적 컨텐츠 제공은 웹서버에 기능 분리시켜 서버 부하를 방지한다.


<a href="https://story.pxd.co.kr/1647" target="_blank">[참고]</a>