bdfgdfg
웹 서버(web server) vs 웹애플리케이션 서버(was),stateless 본문
웹 서버
외부에서 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 |