티스토리 뷰

반응형

WAS

  •  개념
  •   DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server
  •  HTTP를 통해 컴퓨터나 장치에 에플리케션을 수행해주는 미들웨어 
  •  역할
  • WebServer + WebContainer
  • WebServer 기능들을 구조적으로 분리하여 처리하고자 만들어짐
  • 기능
  •  프로그램 실행 환경과 DB 접속 기능 제공
  • 여러 개의 트랜잭션 관리 기느
  • 비즈니스 로직 수행
  •   프레임 워크
  •  Tomcat, Dingo, Express
  •  Express특징 (React에서 Express 사용 이유)
  • React 개발을 도와주는 도구들을 내장하고 있는 오픈소스
  • JavaScript Runtime Environment

 

WebServer

  •  개념
  •   웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공
  •   HTTP 프로토콜을 기반으로 클라이언트의 요청을 서비스하는 기능 담당
  • 역할
  •  WebServer + WebContainer
  •  WebServer 기능들을 구조적으로 분리하여 처리하고자 만들어짐
  •   기능
  • 정적인 컨텐츠는 WAS를 거치지않고 바로 제공
  • 동적인 컨텐츠는 WAS에 Request 요청을 보내고, 결과를 클라이언트에게 Response
  • 클라이언트는 일반적으로 웹 브라우저를 의미
  •  프레임워크
  •  Apache Server, Nginx
  • Nginx 특징 (React에서 Nginx 사용 이유)
  • 비 동기 Event-Driven 기반의 구조
  •  다수의 연결을 효과적으로 처리 가능
  •  대부분의 코어 모듈이 Apache 보다 적은 리소스로 더 빠르게 동작
  • Apache 보다 더 작은 쓰레드로 클라이언트의 요청 처리 가능

WASWeb Server를 구별하는 이유

  •  WAS가 WebServer의 기능을 모두 수행하지 않는 이유
  •  기능을 분리하여 서버 부하를 방지
  •  WAS는 DB조회나 다양한 로직을 처리
  •  단순한 정적 컨텐츠는 WebServer에서 클라이언트에게 빠르게 제공
  •  물리적으로 분리하여 보안 강화
  •  SSL에 대한 암복호화 처리에 WebServer 사용
  •  여러대의 WAS를 연결 가능

 

Web Service Architecture

  1.  Client -> WebServer -> DB
  2.  Client -> WAS -> DB
  3.  Client -> WebServer -> WAS -> DB
  •  3번 Architecture 동작 과정
  1.   Web Server는 웹 브라우저 클라이언트로부터 HTTP 요청을 받는다.
  2.   Web Server는 클라이언트의 요청(Request)을 WAS에 보낸다.
  3.   WAS는 관련된 Servlet을 메모리에 올린다.
  4.   WAS는 web.xml을 참조하여 해당 Servlet에 대한 Thread를 생성한다. (Thread Pool 이용)
  5.   HttpServletRequest와 HttpServletResponse 객체를 생성하여 Servlet에 전달한다.
    1. Thread는 Servlet의 service() 메서드를 호출한다.
    2.  service() 메서드는 요청에 맞게 doGet() 또는 doPost() 메서드를 호출한다.
  6.   doGet() 또는 doPost() 메서드는 인자에 맞게 생성된 적절한 동적 페이지를 Response 객체에 담아 WAS에 전달한다.
  7.   WAS는 Response 객체를 HttpResponse 형태로 바꾸어 Web Server에 전달한다.
  8.   생성된 Thread를 종료하고, HttpServletRequest와 HttpServletResponse 객체를 제거한다.

 

  •  React로 3번 Architecture 구성시
  •  Client(React) -> WebServer(Nignx) -> WAS(Express) ->DB
반응형

'Web' 카테고리의 다른 글

[React] 엔터키 입력으로 로그인 하기 onKeyPress  (0) 2022.05.03
[React] Router Custom, Router를 사용한 사용자 권한 체크  (0) 2021.11.12
Context  (0) 2021.07.29
React 설치  (1) 2021.07.29
리엑트 기초 요약  (0) 2021.07.23
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함