본문 바로가기

Spring

[Spring] 웹서버(WS)와 WAS & 자료구조

Q. 웹 서버와 WAS의 차이는?

 

WS 웹 서버

정적인 파일을 제공하기 위한 서버로 Http 프로토콜에 의해 제공

정적인 파일로만 처리 가능한 것은 Was로 넘기지 않고 WS에서 처리

대표적인 예로 apache, nginx, gws 등이 있다.

 

WAS 웹 애플리케이션 서버

동적 데이터를 제공하기 위한 서버 웹 서버에서 처리할 수 없는 동적 정보를 처리하여 웹서버에 제공

일반적으로 웹서버의 기능을 내제하고 있어 웹 서버 없이도 서비스가 가능

WAS와 DB가 연결되어 WAS에서 처리에 필요한 데이터를 꺼내와 원하는 정보로 가공

 

1. 웹 서버로부터 요청이 들어오면 제일 먼저 스프링 컨테이너가 이를 알맞게 연산 처리한다.

2. 컨테이너는 배포 서술자를 참조하여 해당 서블렛에 대한 스레드를 생성하고 요청 httpServletRequest , 및 응답 httpServletResponse 객체를 생성하여 전달한다.

3. 다음으로는 컨테이너 서블릿을 호출한다.

4. 호출된 서블릿의 작업을 담당하게 된 스레드(미리 생성된 스레드)는 요청에 따라 do Post() 또는 doGet()을 호출한다.

5. 호출된 doPost() 또는 doGet()메소드는 생성된 동적페이지를 Response객체에 실어서 컨테이너에 전달한다.

6. 컨테이너는 전달받은 Response 객체를 HTTPResponse형태로 전환하여 웹서버에 전달 생성되었던 스레드를 종료하고 요청(httpServletReqeust)및 응답(httpSerletResponse)객체를 소멸시킨다.

 

 

Q. Stack과 Queue 그리고 Array와 Linked List 자료구조에 대해 말씀해주시고 차이점에 대해 설명해주세요.

 

자료구조에 관해 정리해두었던 링크

https://seulki1105.tistory.com/20

 

 

참고

웹 서버와 WAS(Web Application Server) | 요즘IT (wishket.com)