개발 창고/Server

[서버이야기] 웹서버(WS)와 와스(WAS)서버

로이제로 2020. 9. 7. 14:23
반응형


이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일)


 흔히들 하는 질문 중에 웹서버가 무어냐? 와스서버가 무어냐 하는 질문을 받곤 합니다. 웹서버와 와스서버란 무엇일까요?? 한때는 저도 이 개념에 대해 궁금해하곤 했는데 알고 보면 매우 간단할지도 모릅니다.

 

 우선 웹서버와 와스서버 대해 이야기 하기 이전에 동적 파일과 정적 파일에 대해 이야기해 볼 필요성이 있습니다. 그 이유는 굳이 구분 짓기에는 정적이냐 동적이냐가 가장 크게 ws와 was를 나누는 기준이 되기 때문입니다. 물론 반드시 그래야 할 필요는 없지만, 자원관리에서 그게 더 효율적이라는 개념에서 접근하면 좋습니다.


  정적파일 vs 동적파일

 - 정적파일은 상황에 따라 변경되지 않는 파일입니다.

  이는 제공자(서버측)에서 변경하지 않는 이상 변하지 않는 파일들을 의미합니다.

  ex) Text파일, Excel파일, Image파일, PDF파일 등등

 

 - 동적파일은 상황에 따라 변경되는 파일입니다.

  이는 이용자(클라이언트 측)에서 어떻게 접근하느냐에 따라 변경이 가능한 파일들의 집합입니다.

  ex) jsp, php, asp 등의 개발언어로 제작된 파일

 

 흔히 웹 서비스라는 걸 하기 위해선 웹서버가 필요로 합니다. 과거 html시절 (정적 데이터 기반의 홈페이지)에서는 페이지만 보여줘도 감지덕지라는 개념으로 웹서버면 충분했을지도 모릅니다(지극히 개인적인 생각). 하지만, 동적인 기능을 제공하게 되면 웹서버는 간단한 파일을 주고받을 때에도 자원을 대기해야 하는 경우가 발생합니다(만약 1년 치 매출 데이터를 계산하도록 요청하는 고객으로 인해 컴퓨터가 열심히 일을 하는 와중에 단순한 상품 이미지를 요청했는데 기다려야 한다면 비효율적일 것입니다.). 때문에 분업이 필요합니다. 웹서버는 간단히 회사의 프런트처럼 접수를 받고 응답을 해주는 역할을 하고 와스서버는 웹서버에서 접수받은 일을 처리해서 웹서버에게 전달해 주는 역할을 하게 되는 것입니다.


  웹 서버 (WS, Web Server)

 - S/W측면

  • 클라이언트(웹 브라우저)로부터 HTTP 요청을 받아 HTTP형태의 응답하는 컴퓨터 내 프로그램
  • HTTP 프로토콜을 기반으로 클라이언트의 요청을  처리하는 기능을 담당
  • 정적 콘텐츠 처리
  • 웹서버 자체적으로 처리 불가능한 동적 콘텐츠의 요청은 컨테이너나 php모듈과 같이 처리 가능한 곳으로 전달하여 처리하고 그 결과를 전달해주는 역할도 수행
  • 종류: Apahce, IIS(Internet Information Server), TmaxSoft WebtoB, Nginx, Jigsaw 등

 - H/W측면

  • 웹 서버 S/W측면 프로그램을 실행하는 컴퓨터

  웹 애플리케이션 서버 (WAS, Web Application Server)

  • 접수된 HTTP 요청에 대해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)
  • 분산 트랜잭션, 보안, 메시징, 스레드 처리 등의 기능 수행하는 분산 환경
  • 웹 상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버
  • EJB와 같은 빈들이 올라가게 되며, 서버에 따라 웹에 필요한 많은 기능 등을 포함
  • J2EE 스펙을 구현한 서버(JSP/Servlet Container와 EJB Container로서의 기능)
  • 동적 콘텐츠 처리: asp, php, jsp 등 개발 언어를 읽고 처리
  • 종류: Apache Tomcat, TmaxSoft Jeus, Oracle WebLogic, IBM WebSphere, Redhat JBoss, Caucho resin
반응형