본문 바로가기
공부/서버

[Web] Web Server 와 Web Application Server

by yeaseul912 2022. 6. 23.
728x90

요즘 테코톡을 보는 재미에 빠졌다.

오늘은 알리의 Web Server vs WAS  를 보고 web server와 web application server에 대해서 정리해보려고 한다.

 

웹서버

웹 브라우저가 클라이언트로부터 HTTP 요청을 받아 HTML, Image 같은 정적인 컨텐츠를 제공하는 프로그램

대표적으로 Apache, Nginx 등이 있다.

아래 그림처럼 어떤 사용자가 요청을 하더라도 다 같은 자원, 같은 화면, 정적인 페이지를 보여준다.

장점

 - 정해진 데이터만 가져와서 반환하면 되기 때문에 처리 속도가 빠르다.

  - 트래픽의 과부하를 잘 처리할 수 있다.

 

WAS

데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 서버 컨텐츠를 수행하기 위한 프로그램
HTTP를 통해 컴퓨터나 장치에 어플리케이션을 수행해주는 미드웨어(소프트웨어 엔진)

하지만 오늘날의 사용자들이 더 많은 기능들을 요구하기 때문에 동적으로 데이터를 처리 할 수 있는 WAS가 생겨납니다.

대표적으로 Apache Tomcat, Jeus, JBOSS 등 이 있다.

대부분 Java 기반이다. 동적인 페이지는 Servlet 및 JSP를 사용하여 생성된다.

WAS 는 JSP, Servlet 구동 환경을 제공한다. 그래서 WAS를 서블릿 컨테이너 혹은 웹 컨테이너라고도 한다.

 

WAS = Web Server + Web Container

WAS 를 좀 더 확대해서 보면 아래와 같다.

  • Web Server 기능들을 구조적으로 분리하여 처리하고자하는 목적으로 제시되었다.
    • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용된다.
    • 주로 DB 서버와 같이 수행된다.
  • WAS의 주요 기능
    • 프로그램 실행 환경과 DB 접속 기능 제공
    • 여러 개의 트랜잭션(논리적인 작업 단위) 관리 기능
    • 업무를 처리하는 비즈니스 로직 수행
  • 현재는 WAS가 가지고 있는 Web Server도 정적인 컨텐츠를 처리하는 데 있어서 성능상 큰 차이가 없다.

was를 할 줄 안다?
 1. web application을 작성할 줄 안다. -> J2EE 중 (Servelet, JSP, JDBC)를 알아야한다.
 2. was가 제공해주는 각종 관리 기능을 능숙하게 사용할 줄 안다.
 3. 성능/ 안정성을 위한 튜닝을 잘 한다.

Web Server 와 WAS를 같이 사용하면 좋은 점.

- 책임 분할을 통한 서버 부하 방지 

    - 정적 컨텐츠는 web server, 동적 컨텐츠는 was가 담당

- 물리적으로 분리하여 보안 강화

    - SSL에 대한 암복호화 처리에 Web Server를 사용

- 로드밸런싱

    - was가 처리해야 하는 요청을 여러 was가 나누어 처리할 수 있도록 설정

 

다음에 할거

Servlet과 JSP

내장 톰캣과 외장 톰캣
Apache Tomcat(JSP/Servlet Container)

Servlet -> 웹으로부터의 요청을 받아 필요한 결과 화면을 만들어내는 기본 API
JSP -> Servlet을 코딩을 최대한 줄이고 HTML형태의 태그를 사용하여 개발하기 위한 표준 API
JDBC -> 각종 데이터베이스에 접속하여 데이터를 처리하기 위한 표준 API

 

Reference

WAS (Web Application Server) 종류      

Embedded Tomcat과 Tomcat의 차이

[Web] Web Server와 WAS의 차이와 웹 서비스 구조

[Servelet] 웹서버 vs 애플리케이션 서버 vs 서블릿 컨테이너 - Tomcat은 서블릿 컨테이너일까?

Apache Tomcat 서버와 Apache 웹 서버의 차이점

[Web] 웹 서버와 WAS의 차이를 쉽게 알아보자

Apache HTTP Server? Apache Tomcat? 서버 바로 알기

 

 

 

반응형

'공부 > 서버' 카테고리의 다른 글

AWS : ISV General Immersion Day1  (0) 2022.11.22
AWS  (0) 2022.09.21
Letsencrypt(무료 SSL) 갱신 오류 해결  (0) 2019.02.27
리눅스 백업을 해보자.  (0) 2019.02.20
Lets Encrypt ! (무료 SSL 적용 방법)  (0) 2018.12.07

댓글