[IT기초지식] WEB/WAS 란?(WEB<->WAS 동작 방식)
IT/IT 기초 지식

[IT기초지식] WEB/WAS 란?(WEB<->WAS 동작 방식)

728x90
반응형

1. WEB/WAS란?

 

- WEB

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

 

HW에서 WEB: 위와 같은 프로그램을 실행하는 Server 장치 

 

  •  Apache
  • Nginx
  • IIS

 

 

- WAS(Web Application Server)

웹 브라우저와 같은 클라이언트로부터 웹 서버가 요청을 받으면 애플리케이션에 대한 로직을 실행하여 웹 서버로 다시 반환해주는 소프트웨어이다.

웹 서버와 DBMS 사이에서 동작하는 미들웨어로써, 컨테이너 기반으로 동작한다.

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

 

*웹 컨테이너(Web Container)동작방식

JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹컨테이너 or 서블릿컨테이너라고 한다.

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

 

*JSP와 서블릿

JSP는 HTML 내부에 JAVA 소스코드가 들어감으로 인해 HTML 코드를 작성하기 간편하다는 장점이 있다.

Servlet은 자바코드내에 HTML코드가 있어서 읽고 쓰기가 굉장히 불편하기 때문에 작업의 효율성이 떨어진다.

 

1. 클라이언트가 어떤 동작을 함으로써 hello.jsp를 요청한다.

2. JSP 컨테이너가 JSP파일을 읽는다.

3. JSP 컨테이너가 Generate(생성) 작업을 통해 Servlet(.java) 파일을 생성한다.

4. .java 파일은 다시 .class 파일로 컴파일 된다.

5. Execute(실행)을 통해 HTML 파일을 생성하여 JSP 컨테이너에게 전달한다.

6. JSP는 HTTP 프로토콜을 통해 HTML 페이지를 클라이언트 에게 전달한다.

 

 

 

 

 

2. WEB/WAS 의 차이점

 

  • 요청을 받아 처리하는 컨텐트 차이(정적컨텐츠/동적컨텐츠)

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

 

 

3. WEB/WAS를 나눠야 하는 이유

  • 데이터처리방식

    WEB은 정적인컨텐츠를 처리하고 WAS는 동적인컨텐츠를 처리한다.
    만약, 부하가 적은 웹서비스라면 WEB/WAS를 같이 두어서 요청을 WAS에서 처리하면 되지만,
    부하가 많다면 빠른시간에 처리할 수 있는 정적컨텐츠를 WAS에서 처리하여 부하를 줄 필요가 없다.
  • 보안

    사용자들에게 WAS는 공개되어질 필요가 없다. 사용자요청->웹서버->WAS 전달하기 때문이다.
    그리고 WAS의 경우 DB서버에 대한 접속 정보가 있기 때문에 외부로 노출될 경우 보안상 문제가 될 수 있다.

 

 

*참조

https://javacpro.tistory.com/43

https://goldsony.tistory.com/37

728x90
728x90