티스토리 뷰

WAS와 웹 서버(Web Server)의 차이

참고1: https://codechasseur.tistory.com/25
참고2: https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
참고3: https://victorydntmd.tistory.com/121
참고4: http://melonicedlatte.com/web/2019/06/23/210300.html

웹 서버는 뭐고 웹 어플리케이션 서버는 뭐지? 이름이 비슷한데 그냥 같은 걸 다르게 부르는 건가? 싶기도 하여 서칭해봤다.

내용

1. 웹 서버(Web Server)

정의: 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들여 HTML, CSS, JS와 같은 정적 웹 페이지를 반환하는 프로그램

주로 정적 페이지를 반환하는 역할을 하지만

동적 콘텐츠를 요청 받으면 해당 요청을 WAS에 넘겨주고 WAS에서 처리된 결과를 클라이언트에게 보내주는 역할도 수행한다.

예시: Apache, Nginx, ...

2. WAS(Web Application Server)

정의: 인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치의 어플리케이션을 수행해주는 미들웨어로서, 주로 동적 콘텐츠를 수행하여 웹 서버와 구분된다. 주로 데이터베이스 서버와 같이 수행된다. 웹 컨테이너라고도 불린다.

클라이언트가 동적 정보를 포함한 페이지를 서버에 요청하게 되면

웹 서버는 정적 페이지를 클라이언트에 반환하고 동적 정보 요청을 웹 컨테이너로 넘긴다.

웹 컨테이너는 JSP, Servlet 등을 구동하여 DB와 상호작용 후 요청을 처리한 다음 그 결과를 웹 서버에 넘기고, 웹 서버는 해당 결과를 클라이언트에게 전달한다.

예시: Tomcat, ...

3. 같이 사용하는 이유?

WAS만 사용하면 WAS에서 정적 페이지 처리와 동적 데이터 처리가 모두 일어나기 때문에 서버 부하가 심해진다.

또 동적 데이터 처리가 늦게 되면 페이지 노출이 늦어서 사용자 경험이 떨어질 수 있다.

따라서 웹 서버를 WAS 앞에 두어 정적 페이지 처리를 담당시키고 WAS는 동적 데이터 처리만 하는 것이 옳다.

4. 요즘 추세?

요즘엔 WAS 안에 웹 서버의 기능이 내장되어 있는 경우가 있다. Apache Tomcat이 대표적이다.

이때 아파치 톰캣은 Web Server + Web Container === WAS 라고 할 수 있을 것 같다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함