웹서버와 WAS

서정인·2022년 9월 27일
0

웹서버

웹 서버란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버이다. 정적 컨텐츠란 단순 HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠이다. 

이때 웹 서버가 정적 컨텐츠가 아닌 동적 컨텐츠를 요청받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달하는 역할도 해준다. 

이러한 웹 서버에는 Apache, NginX 등이 있다.

WAS

WAS란 DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버이다. HTTP 프로토콜을 기반으로 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로서, 주로 데이터베이스 서버와 같이 수행된다.

WAS는 JSP, Servlet 구동환경을 제공해주기 때문에 서블릿 컨테이너 혹은 웹 컨테이너로 불린다.

이러한 WAS는 웹 서버의 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 제시되었다. 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용된다. WAS는 프로그램 실행 환경과 DB 접속 기능을 제공하고, 여러 개의 트랜잭션을 관리 가능하다. 또한 비즈니스 로직을 수행할 수 있다.

이러한 WAS에는 Tomcat, JBoss, WebSphere 등이 있다. 

차이점

  • 웹 서버는 정적인 데이터를 처리하는 서버이다.
  • 이미지나 단순 html파일과 같은 리소스를 제공하는 서버를 웹 서버를면 WAS를 이용하는 것보다 빠르고 안정적이다.
  • WAS는 동적인 데이터를 처리하는 서버이다.
  • DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작이 필요우에는 WAS를 활용해야 한다.
  • 우리가 만드는 웹페이지는 정적 컨텐츠와 동적 컨텐츠를 함께 노출하게 한다.
    WAS가 정적 데이터를 처리하게 되면, 동컨텐츠의 처리가 지연이 될 것이고 이로 인한 페이지 노출시간이 늘어나게 된다.
  • WAS는 동적 처리에 최적화 되어 있는비스이기 때문에 처리 속도를 위해, 정적처리는 웹서버에서 처리를 하고, 동적 컨텐츠는 WAS에서 처리하게 된다.
  • 사용자가 클라이언트(브라우저)에 요청을 하게 되면 이를 웹서버에서 반응하여 WAS의 처리를 거쳐 웹 페이지로 다시서버에서 클라이언트(브라우저)에 응답 메시지를 주는 것이다.
  • 추가적으로,JSP를 배울 때, 대체적으로 Apache와 Tomcat을 사용한다.
  • ASP를 구동하기 위해서는 IIS를 사용한다. ASP의 환경이 M열 서비스라면 WAS의 기능을 담당하는 부분이 있어 별도의 WAS가 필요하지 않다.
profile
코딩공부

0개의 댓글