적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

웹 개발

웹 서버 vs. WAS

hongssup_ 2021. 5. 20. 14:38
반응형

web

- 인터넷을 기반으로 한 정보를 공유, 검색할 수 있게 하는 서비스 

- URL(주소), HTTP(통신 규칙), HTML(내용)

server

- 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템

web server 

- 인터넷을 기반으로 클라이언트에게 서비스(정적인 데이터)를 제공하는 컴퓨터프로그램 

 

클라이언트가 웹서버에게 주소(url)를 가지고 통신규칙(http)에 맞게 요청하면, 

서버에서는 이 요청에 대한 데이터를 제공한다.

이 때 데이터는 웹에서 처리할 수 있는 단순 html 문서, css, javascript, 이미지 등 정적 컨텐츠를 말한다.   

 

ex) Apache, Microsoft IIS, nginx 등

 

WAS (Web Application Server)

: 클라이언트의 요청을 받아 서버에서 무언가를 처리하고 그 결과를 보여주는 동적인 데이터를 처리하는 웹서버

- 웹 서버와 웹 컨테이너가 합쳐진 형태로, 웹 서버 단독으로는 처리하기 힘는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공. 

- 웹 어플리케이션을 실행시켜 필요한 기능을 수행해주고 결과를 웹서버에 전달해주는 미들웨어로서, 주로 데이터베이스 서버와 같이 수행.

* 컨테이너 : jsp, servlet을 실행시킬 수 있는 소프트웨어

ex) 톰캣, IBM, WebSphere, JEUS 등

 

WAS는 DB 조회 및 다양한 로직을 처리하는 데 집중해야 한다. 따라서 단순한 정적 컨텐츠는 웹 서버에게 맡기며 기능을 분리시켜 서버 부하를 방지해야 한다. WAS가 정적 컨텐츠 요청까지 처리하면, 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려지고 효율성이 크게 떨어질 것.

웹 서버를 WAS 앞에 두고 필요한 WAS들을 Web Server에 플러그인 형태로 설정하면 더욱 효율적인 분산 처리가 가능할 것.

 

 

 

참고 : 우아한테크코스youtube, 코드사냥꾼 tistory

728x90
반응형

'웹 개발' 카테고리의 다른 글

HTML  (0) 2021.09.03
웹 소켓 Web Socket  (0) 2021.05.20
웹 Back-End 개발 [JAVA vs. PHP]  (0) 2021.05.14
웹 Front-End 개발 [HTML / CSS / JavaScript]  (0) 2021.05.14
웹 개발 환경  (0) 2021.04.07