카테고리 없음

Web Server? Web Application Server?

개발기록 2024. 8. 28. 18:33

웹 서버(Web Server)
- 정적인파일을 제공하기 위한 서버로, HTTP 프로토콜에 의해 제공하며 여담으로 일반적으로 과거 서버 PC에 파일 View목적으로 사용하였다고 한다.

 

웹 어플리케이션 서버(Web Application Server)
- 동적인 데이터를 제공하기 위한 서버, 웹서버에서 처리할 수 없는 동적인 정보를 처리하여 웹서버에 정적인 정보를 제공한다.
- 일반적으로 웹서버의 기능을 내제하고 있어 별도의 웹 서버 없이도 서비스가 가능하다.
- WAS와 DB가 연결되어 WAS에서 처리에 필요한 데이터를 꺼내와 원하는 정보로 가공처리하여 동적으로 처리하여 정보를 제공한다. 추가적으로 WAS에서 처리 과정과 순서는 아래와 같다.

웹서버로 부터 요청이 들어오면 제일먼저 컨테이너가 이를 알맞게 처리한다.
컨테이너는 배포서술자(web.xml) 를 참조하여 해당 서블릿에 대한 스레드를 생성하고 요청(httpServletRequest) 및 응답(httpServletResponse) 객체를 생성하여 전달한다.
 다음으로 컨테이너는 서블릿을 호출한다.
호출된 서블릿의 작업을 담당하게 된 스레드(미리 생성된 스레드)는 요청에 따라 doPost() 또는 doGet()을 호출한다.
 호출된 doPost() 또는doGet()메소드는 생성된 동적페이지를 Response객체에 실어서 컨테이너에 전달한다.
컨테이너는 전달받은 Response 객체를 HTTPResponse형태로 전환하여 웹서버에 전달하고 생성되었던 스레드를 종료하고 요청(httpServletReqeust)및 응답(httpSerletResponse)객체를 소멸시킨다.

 

출처 : https://m.blog.naver.com/bluefish0121/221294387117