WEB과 WAS에 대해..

우진혁·2024년 5월 15일
0

Study

목록 보기
7/13

웹(WEB) 서버란?

  • 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지에서 흔히 찾아 볼 수 있는 자료 콘텐츠에 따라 HTTP에 반응하는 컴퓨터 프로그램

개념

  • 정적 컨텐츠 제공 : WAS를 거치지 않고 바로 자원을 제공
  • 동적 컨텐츠 제공 : 클라이언트의 request를 WAS에 보내기

정적 컨텐츠(static) : 변화가 없는 컨텐츠, 어느 사용자에게나 동일한 결과값을 보여줌 ( ex. html, jpg, css 등..)
동적 컨텐츠(dynamic) : 배너 광고나 카테고리 등

종류

  • Apache
  • Nginx
  • IIS

WAS(Web Application Server) 서버란?

  • 웹 브라우저와 같은 클라이언트로부터 웹 서버가 요청을 받으면 애플리케이션에 대한 로직을 실행하여 웹 서버로 다시 반환해주는 소프트웨어이다.
  • 웹 서버와 DBMS 사이에서 동작하는 미들웨어로써, 컨테이너 기반으로 동작한다.

개념

DB 조회나 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application Server
Web container 혹은 Servlet Container라고도 불린다. Container란 jsp, Servlet을 실행시킬 수 있는 소프트웨어를 말한다.

기능

  • 프로그램 실행 환경과 DB 접속 기능 제공
  • 여러 개의 트랜잭션 관리기능
  • 업무 처리하는 비즈니스 로직수행

종류

  • Tomcat
  • JBoss
  • WebLogic
  • WebSphere
  • Jeus (tmax)
  • Jetty (이클립스)
  • Resin

웹 컨테이너(Web Container)동작방식
JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹컨테이너 or 서블릿컨테이너라고 한다.

웹서버에서 JSP를 요청하면 컨테이너가 JSP파일을 서블릿으로 변환하여 컴파일을 수행하고, 서블릿 수행결과를 웹서버에게 전달하게 된다.
→ JSP컨테이너가 탑재되어 있는 WAS는 JSP페이지를 컴파일 해 동적인 페이지를 생성하는 것이다.

※ 서블릿 (Servlet) : 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술

JSP와 서블릿
JSP는 HTML 내부에 JAVA 소스코드가 들어감으로 인해 HTML 코드를 작성하기 간편하다는 장점이 있다. Servlet은 자바코드내에 HTML코드가 있어서 읽고 쓰기가 굉장히 불편하기 때문에 작업의 효율성이 떨어진다.

WEB/WAS 의 차이점

요청을 받아 처리하는 컨텐트 차이가 있다.(정적컨텐츠/동적컨텐츠)
WEB서버의 경우 정적인 컨텐츠(HTML ,CSS ,IMAGE 등)를 요청받아 처리합니다.
WAS의 경우 동적인 컨텐츠(JSP, ASP ,PHP 등)을 요청받아 처리한다.

WEB/WAS를 나눠야 하는 이유

  • 데이터처리방식
    WEB은 정적인컨텐츠를 처리하고 WAS는 동적인컨텐츠를 처리한다.
    → 부하가 적은 웹서비스라면 WEB/WAS를 같이 두어서 요청을 WAS에서 처리하면 되지만,
    부하가 많다면 빠른시간에 처리할 수 있는 정적컨텐츠를 WAS에서 처리하여 부하를 줄 필요가 없다.
profile
개인 발전과 성장을 위한 정리노트

0개의 댓글