스프링/3. 스프링 MVC

1. 웹 서버, 웹 애플리케이션 서버

sdafdq 2023. 8. 1. 19:35

웹서버의 역할은 기본적으로 html을 보내서 브라우저가 그걸 받아 내 브라우저에 뿌려준다.

 

웹 서버, 웹 애플리케이션 서버(톰캣 등의 애플리케이션 기반으로 동작하는 서버)차이는 그냥.. 더 어떤 로직이나 코드 읽는데 특화된거다.

 

보통 웹서버는 정적인것으로 보고, WAS(Web Application Server)는 뭔가 html을 사용자마다 바꿔서 뿌려줄 수 있는데, 동적인 것으로 봄.

 

 

 

근데 위의 방식으로 해 놓으면, 문제가 있음.

WAS가 너무 많은 역할을 담당하기에 서버 과부하 우려. 

거기다 WAS아예 장애나서 꺼질 시 오류 화면 노출도 불가능 함. (사람이 만든 거기에 생각보다 오류 자주 난다고 함.)

 

 

 

 

정적 리소스는 아예 웹서버가 처리하도록 하고, 거기서 동적인 것이 필요한 것만 WAS에게 요청해서 받음. 

이렇게 하면 WAS는 아예 애플리케이션 로직만 담당할 수 있음.

 

증설도 쉬움. 정적이 부족하면 정적을 증설하면 되고, WAS가 부족하면 저기만 증설하면 됨.

 

저런 로직이 없는 웹서버는, 그냥 파일을 읽어다 보내주는 것 이므로 잘 안죽음. 

 

로직 있는 WAS는.. 뭐..

 

저렇게 해놓으면 WAS에서 응답이 없으면 오류라고 클라이언트 한테 뿌려줄 수도 있고

 

 

'스프링 > 3. 스프링 MVC' 카테고리의 다른 글

7. Hello Servlet  (0) 2023.08.03
5. 자바 웹 기술 발전 역사  (0) 2023.08.03
4. 서버의 클라이언트에게 제공 방식  (0) 2023.08.02
3. 멀티쓰레드  (0) 2023.08.01
2. 서블릿  (0) 2023.08.01