Home Web Server & Web Application Server
Post
Cancel

Web Server & Web Application Server

  • Web Server와 Web Application Server(WAS)의 차이점을 소개한다.

Web Server

  • 클라이언트의 요청을 받은 정적인 데이터(웹 페이지, 이미지)를 HTTP 프로토콜을 통해 전송한다.
  • 클라이언트의 요청 중 자체적으로 처리할 수 없는 동적인 데이터 처리에 대해서는 WAS에 요청한다.
  • Web Server에서는 정적인 데이터를 처리하고 WAS에서는 동적인 데이터를 처리하는 방식으로 양분하여 처리하는 방식을 사용한다.
  • 이를 통하여, 각 서버에서 처리하는 부하를 줄여줄 수 있다. ex) Apach, IIS, Nginx

WAS(Web Application Server)

  • 클라이언트 요청을 받은 동적인 데이터(Web Server가 처리할 수 없는 데이터)를 처리하여 Web Server에 정적인 정보를 제공한다.
  • 일반적으로 WAS는 Web Server 기능을 내제하고 있기에, Web Server 없이 서비스가 가능하다. ex) Web Logic, Jeus, Tomcat, JBoss

Web Containner

  • Servlet, JSP를 실행할 수 있는 소프트웨어다.
  • Web Server에서 동적 데이터인 처리 요청이 들어오면 JSP 파일은 Servlet으로 변환한다.
  • 이후 Servlet을 컴파일하여 실행한 결과를 Web Server에 전달한다.

WAS의 데이터 처리 방식

image

  1. Web Server로 부터 동적 데이터 처리 요청이 들어오면 Web Container가 이를 수신한다.
  2. Web Container는 web.xml를 참조하여 해당 Servlet를 처리하기 위한 스레드를 생성하고 요청(httpServletRequest) 및 응답(httpServeletResponse) 객체를 생성하여 스레드에 전달한다.
  3. Web Container는 Servlet을 호출한다.
  4. 호출된 Servlet의 작업을 담당하는 스레드(미리 생성되어 있는 상태)는 HTTP 프로토콜 타입에 따라 doPost() 또는 doGet() 메소드를 호출한다.
  5. 호출된 doPost() 또는 doGet() 메소드는 동적 페이지를 생성한 다음 Response객체에 담아서 web container에 전달한다.
  6. Web Container는 전달받은 Response객체를 HTTPResponse 형태로 전환하여 Web Server에 전달하고 생성된 스레드와 요청 및 응답 객체를 제거한다.

출처: https://galid1.tistory.com/486

This post is licensed under CC BY 4.0 by the author.

Putty 사용시 유용한 설정 소개

Project Lab 0. 연구실 홈페이지 개발 프로젝트 소개

Comments powered by Disqus.

Trending Tags