bdfgdfg

웹 서버(web server) vs 웹애플리케이션 서버(was),stateless 본문

웹프로그래밍/JSP_Servlet

웹 서버(web server) vs 웹애플리케이션 서버(was),stateless

marmelo12 2023. 10. 31. 22:18
반응형

웹 서버

외부에서 http주소로 특정 파일, 폴더에 접근해서 리소스를 얻어오는건 웹서버다.

즉 요청에 대한 특수한 처리가 필요하지 않고, 정적인 결과만을 얻기를 바란다면 웹서버를 사용하면 된다.

 

웹서버 종류 : apache, iis등

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

WAS는 웹서버를 포함한 상위개념이며, 동적인 처리를 통해 결과를 반환할 때 사용한다.

대표적인 WAS가 톰캣. 톰캣은 내부적으로 멀티쓰레드 환경에서 동작되는 서버이며 HTTP 요청이 들어올 때 해당 URL에 식별된 서블릿을 찾아서 동적으로 요청을 처리한다.

 -> JSP의 경우도 결국 서블릿이라고 했음. 최초 1회 서블릿으로 변환(java변환 -> class 컴파일)후 요청을 처리

 -> 이후 JSP 내부의 자바코드를 해석해 html로 변환하여 응답.

 

WAS는 WebServer를 포함한 개념이라고 했다. 만약 정적인 컨텐츠가 아닌 동적 컨텐츠를 요청할 시 내부적으로 웹서버는 WAS에게 해당 요청을 넘겨버린다

 

WAS 종류 : tomcat, JEUS등등..

Stateless Server(무상태 서버)

기본적으로 http프로토콜을 사용하는 웹환경은 stateless이다.

 -> 내부적으론 TCP연결이지만 언젠가는 클라이언트와 연결을 자동으로 끊게된다.

 

stateless(무상태)는 이름에서도 알 수 있듯이 서버는 사용자(Session)에 대한 정보를 저장(메모리)하지 않고, 요청에대한 응답만을 처리한다. 즉 동일한 클라이언트가 여러번 요청해도 서버는 해당 클라이언트가 이전 요청에 대한 정보를 모름

 -> 그렇기에 서버에 요청한 데이터를 가능한 클라이언트측에서 들고있어야 함.

 -> 물론 완전 이렇게 처리하기에는 어려움이 있기때문에 Session등 이전 클라이언트의 요청을 기억하는 방법도 존재함

 

장점: stateless는 클라이언트의 상태를 서버가 기억하지않기때문에 수평확장(scale-out)이 편리함.

단점: 사용자의 요청을 기억하지 않기에 최종 결과를 얻기위한 과정이 길어질수밖에 없음.

 

 

반응형

'웹프로그래밍 > JSP_Servlet' 카테고리의 다른 글

FrontController  (0) 2023.11.01
HTTP Header, body, MIME타입  (0) 2023.10.31
JSP 이해  (0) 2023.10.30
톰캣 프로젝트 Add 안되는경우  (0) 2023.10.25
모델2(MVC) 방식 작업  (0) 2023.08.13
Comments