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

HOSEON YOO·2024년 4월 20일
0

개요

3월에 면접 본 회사에서 기술시험을 같이 보았는데, 웹 서버와 웹 애플리케이션 서버의 차이점에 대한 문제가 나와서 많이 당황했던 기억이 있다.. 그래서 오늘은 웹 서버와 웹 애플리케이션 서버에 대해 알아보려고 한다.

웹 서버(Web Server)

  • 웹 사이트를 호스팅하고 간단한 요청에 대한 응답을 제공
  • HTTP 프로토콜 기반
  • 정적 콘텐츠 제공
    • 전송 전에 서버에서 수정하거나 처리할 필요가 없는 콘텐츠
    • ex) 이미지, 문서, 비디오 및 HTML
  • ex) Nginx, Apache 등

웹 애플리케이션 서버(Web Application Server)

  • 엔터프라이즈 시스템, 서비스 및 데이터베이스에 연결하여 비즈니스 로직을 처리
  • HTTP 프로토콜을 기반
  • 동적 콘텐츠 제공
    • 사용자가 콘텐츠와 상호 작용하는 방식에 따라 변경되는 콘텐츠
    • ex) 사용자 지정된 데이터 표현, 데이터베이스 결과 및 처리된 HTML
  • ex) Tomcat, Jetty, Undertow

웹 서버와 웹 애플리케이션 서버를 나누는 이유

사실은 웹 서버의 기능을 웹 애플리케이션 서버도 제공하고 웹 애플리케이션 서버의 기능을 웹 서버에서도 제공한다. 그렇다면, 웹 애플리케이션 서버에서 다 제공하면 되지 않을까? 굳이, 왜 둘을 나누어서 구분할까?

성능 향상

웹 서버가 정적 콘텐츠를 처리하고 웹 애플리케이션 서버는 동적 콘텐츠를 처리함으로써 각각의 서버가 자신의 전문 분야에서 최상의 성능을 발휘한다. 이를 통해 전체 서비스의 성능을 향상시킬 수 있다.

캐싱 및 압축

웹 서버는 정적 리소스에 대한 요청을 캐싱하고 압축하여 서비스 속도를 높이고 네트워크 대역폭 사용을 줄일 수 있다.

로드 밸런싱

웹 서버는 들어오는 요청을 각 서버에 분산시켜 서버 부하를 줄일 수 있다. 이를 통해 전체 서비스의 처리량이 높아지고, 가용성이 향상된다.

보안

웹 서버는 리버스 프록시 또는 DMZ(비무장 지대) 역할을 하여 외부와 내부 네트워크를 격리시킬 수 있다. 이렇게 하면 공격자가 직접 웹 애플리케이션 서버에 접근하는 것을 방지하여 전체 서비스의 보안 수준을 높일 수 있다.또한 웹 서버에서 SSL/TLS를 설정하여 HTTPS를 통한 암호화된 연결을 지원할 수 있다. 이를 통해 데이터 전송 속도를 높일 수 있고, 더 안전한 데이터 통신이 가능해진다.

참고자료

profile
안녕하세요~ 👋, 대한민국 개발자 유호선입니다.

0개의 댓글

관련 채용 정보