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

서이·2022년 9월 11일
0

개념정리

목록 보기
4/9

웹 서버

-> 정적인 컨텐츠 제공(HTTP 요청을 받아 Static contents를 제공하는 서버, 프로그램)
image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들을 의미한다.

웹 서버에서 요청에 알맞은 파일을 반환하며, 항상 동일한 페이지를 반환한다. (말 그대로 정적인 컨텐츠)

웹 서버에서 제공한다.

WAS를 거치지 않고, 바로 요청한 컨텐츠를 제공할 수 있다.

동적인 컨텐츠 제공을 위한 요청 전달(요청을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달한다.)

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

-> 동적인 컨텐츠 제공(다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라 동적인 컨텐츠를 제공하는 서버, 프로그램)
데이터베이스, 서버 내 로직 등을 활용해 동적으로 만들어진 컨텐츠를 반환한다.
웹 어플리케이션 서버에서 제공한다.
Web server + Web container
(이렇게 생각하는게 간단함, 여기서 그럼 컨테이너란?)

웹 서버가 보낸 JSP, PHP, ASP.net 등의 파일들을 실행하고 수행결과를 다시 웹 서버로 보내주는 역할을 한다.

결국, 웹 어플리케이션 서버는 웹 서버에서 요청을 받고, 이를 웹 컨테이너로 보내 로직(알고리즘, DB 연결 등)을 수행하고 그 결과를 다시 웹 서버로 보내 최종적으로 클라이언트에게 보내주는 것이다.

WAS가 Web Server가 모든 기능을 수행하지 않고 web Server를 왜 사용하는가?
-> 기능을 분리하여 서버 부하를 방지한다.

WAS는 DB 조회, 다양한 로직을 수행하기라 바쁘기 때문에 단순한 정적 컨텐츠는 Web Server에서 빠르게 클라이언트한테 제공하는 것이 좋다.

정적 컨텐츠 요청까지 WAS에서 수행하게 되면 부하가 커지게 되고, 동적 컨텐츠 처리가 지연됨에 따라 수행속도가 느려진다.

결론적으로, 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 Web Server, WAS를 각기 사용한다.

profile
작성자 개인이 잊을 때마다 보라고 정리한 글

0개의 댓글