우노
[Web] 웹서버와 웹 어플리케이션 서버 본문
웹 서버와 웹 어플리케이션 서버의 구조
웹 서버
- 클라이언트가 정적 데이터(HTML, CSS, etc)를 요청하면, 앞단에서 빠르게 제공하는 역할을 합니다.
- 클라이언트가 동적 데이터를 요청하면, WAS에 요청을 보내고, WAS가 처리한 데이터를 클라이언트에게 전달하는 역할을 합니다.
- 웹 서버 종류로는 NGINX, APACHE 등이 있습니다.
웹 어플리케이션 서버
- 클라이언트가 요청한 동적 데이터(DB 조회, 다양한 로직 기반 컨텐츠, etc)를 처리하는 역할을 합니다.
- 웹 어플리케이션 서버 종류로는 아파치 톰캣, 제우스, 제티(Jetty), 레진(Resin) 등이 있습니다.
WAS가 Web Server의 모든 기능을 수행하면 되는 거 아닌가? Web Server는 왜 사용하는가?
- 정적, 동적 데이터 처리 서버를 분리하여, 서버 부하를 방지할 수 있습니다.
- WAS는 동적 컨텐츠 처리로 바쁘기 때문에, 단순한 정적 컨텐츠는 Web Server에서 빠르게 클라이언트한테 제공하는 것이 좋습니다.
- 정적 컨텐츠 요청까지 WAS에서 수행하게 되면, 동적 컨텐츠 처리가 지연됨에 따라 전체적인 수행속도가 느려집니다.
- 여러 대의 WAS를 연결해, 장애 대응 및 로드 밸런싱을 사용할 수 있습니다.
- Fail over, Fail back 처리에 유리하다.
- Web Server와 WAS를 분리하여, 오류가 발생한 WAS를 사용하지 않고, 다른 WAS를 사용하게 만듦으로써 무중단 운영을 가능하게 합니다.
- 여러 언어의 웹 어플리케이션 서비스가 가능합니다.
- 하나의 서비스에서 PHP Application, Java Application 등의 여러 웹 어플리케이션을 활용할 수 있습니다.
결론
- 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수 등의 편의성을 위해 Web Server와 WAS를 각기 사용합니다.
참고
'Web_App > Concept' 카테고리의 다른 글
[Web] CORS란? (2) | 2023.06.05 |
---|
Comments