웹 애플리케이션 서버 ( WAS )

UnKnown12·2023년 1월 31일
0

Web Application Server

목록 보기
2/3

📌 WAS ( Web Applicaiton Server )

  • WAS 란 DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 이다.

  • HTTP 프로토콜을 기반으로 사용자 디바이스에 애플리케이션을 수행해주며, 주로 DB 서버와 같이 수행된다.

  • WAS는 JSP, Servlet 구동환경을 제공해주기에 "웹 컨테이너" 라고 불린다

  • Tomcat , JBoss, WebSphere 등이 있다.

📌 Servlet

  • 동적 웹 페이지에 사용되는 JAVA 기반 웹 애플리케이션 프로그래밍 기술

  • 동적 데이터를 처리하여 정적인 페이지로 생성해주는 ' 서블릿 컨테이너 ' 에 사용되는 기법이다.

📌 Tomcat ( Apache Tomcat )

  • 전 세계적으로 가장 많이 사용되는 오픈 소스 웹 컨테이너
    JAVA Servlet을 지원하기 위한 JAVA 플랫폼

  • 웹 애플리케이션의 다양한 규격을 준수하여 JSP,HTML 파일들로 구성된 .war파일을 배포해주는 엔진

📌 HttpServlet - Request

  • 사용자 ( 클라이언트 ) 가 view 영역을 통해
    서버에 요청을 보내면 Servlet 웹 컨테이너가 HttpServletRequest 객체를 생성하여
    사용자의 요청정보를 가져와 서버에서 로직 처리를 수행할 수 있게 해준다.

ex )

만약 http://localhost:8080/getInfo?id=mangdo&year=2021
으로 사용자가 요청하였다면

HttpServletRequest request

request.getRequestURI();
request.getRequestURL();
request.getQueryString();
request.getParameter("id");
request.getServerName();
request.getServerPort();
request.getMethod();
request.getHeader("referer");

Console

RequestURL : http://localhost:8080/getInfo
RequestURI : /getInfo
QueryString : id=mangdo&year=2021
Get parameter : mangdo
ServerName(도메인) : localhost
ServerPort : 8080
Method : GET
Referer : http://localhost:8080/getInfo 
(Refer? 현재 요청된 페이지의 링크 이전의 웹 페이지 주소)

request 객체의 메소드를 통해 사용자의 요청을 활용할 수 있게된다.

📌 HttpServlet - Response

  • HttpServletRequest 를 통해 얻게된 사용자의 요청을
    서블릿 컨테이너 영역에서 로직 처리를 모두 수행한 후
    사용자에게 응답 메세지 또는 동적 컨텐츠를 제공하는 객체이다.

📌 동적 페이지 ( Dynamic Page )

  • = 동적 컨텐츠,
    사용자의 요청에 의해 서버가 수행한 결과를 담아 응답하는 페이지
    사용자마다 다른 페이지가 보여질 수 있다.

📌 정적 페이지 ( Static Page )

  • 별도의 서버 처리가 없어도
    사용자에게 보여줄 수 있는 페이지, 모든 사용자에게 동일한 페이지가 보여진다.
    ex) HTML , CSS , JS

📌 동기 통신 ( 동기적 프로그래밍 )

  • 동기 Synchronous : 동시에 일어나는

  • 프로그래밍 로직이 ' 한 방향 ' 으로 되어있으며
    다음 업무를 진행하기 위해선 이전 업무 수행이 반드시 필요하다.

  • 일부 영역이라도 데이터 변화를 하기 위해서는
    전체 영역을 서버에 재요청해야한다.

  • 어떤 의미에서는 정적 페이지와 유사

📌 비동기 통신 ( 비동기적 프로그래밍 )

  • 비지니스 로직이 여러 갈래로 되어있으며
    이전 업무 수행 없이도 특정 업무만 따로 수행시킬 수 있다.

  • 일부 영역에 데이터 갱신을 하더라도 나머지 전체 영역은
    멈추는 것이 아닌 프로그램이 계속 돌아간다.

  • 어떤 의미에서는 동적 페이지와 유사

ex) AJAX

profile
Hyobin12

0개의 댓글