[Network] Web Server, Web Application Server

yooni·2022년 1월 28일
0
post-thumbnail

🧩 웹 서비스 (Web Service)

HTTP 프로토콜을 기반으로 한 클라이언트와 서버의 통신



1. 웹서버 (Web Server)

  • 웹 브라우저에서의 HTTP request에 응답하여 정적 콘텐츠(HTML/CSS/JS, 이미지, 영상..) 반환
  • 엄밀한 의미에서 애플리케이션 서버들의 교집합 영역에 있다고 할 수 있음
  • 클라이언트에서 서버에 HTTP request를 보내면 웹서버가 요청 내용을 확인하고, 정적파일에 대한 요청이면 응답하고, 아니면 WAS에게 요청을 넘김
  • WAS가 처리한 결과를 넘겨받아 클라이언트에게 전달
  • IIS, Apache, Nginx, GWS 등


2. 앱서버 (WAS, Web Application Server)

  • 웹서버와 앱 사이의 동적 콘텐츠를 생산하는 미들웨어(소프트웨어 엔진)
  • 웹서버와 앱의 중간다리 역할 (웹서버는 앱을 알지 못하고, 앱은 웹서버를 알지 못함)
  • 웹서버로부터 넘겨받은 요청을 App이 이해할 수 있는 형태로 넘기고 App에서 데이터 처리 진행
    동적 콘텐츠 반환
  • 일반적으로 DB 서버와 함께 서비스를 수행
  • 클라이언트와 서버간의 상호작용을 통한 트랜잭션 결과, 의사결정 지원 또는 실시간 분석
  • Tomcat, uWsgi, WebLogic, Jboss

3. 앱 (Web Application)

  • DB를 질의하고 데이터를 가공하여 제공하는 역할
  • 비지니스 로직이 앱에서 구현
  • Django, Flask, PHP, JSP, ASP


4. Web Server와 WAS가 굳이 분리되어 있는 이유

자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성

  • 기능 분리를 통한 서버 부하 방지
  • 물리적 분리를 통한 보안 강화
  • 여러 대의 WAS를 연결하여 로드 밸런싱 확보
  • 여러 언어의 웹 애플리케이션 서비스 수행

✔️ 실제로는,
둘의 구분이 희미해졌고 정적 웹 콘텐츠와 동적 애플리케이션 콘텐츠가 결합된 웹 서버와 애플리케이션의 하이브리드가 가장 인기


profile
멋쟁이 코린이

1개의 댓글

comment-user-thumbnail
2022년 1월 29일

정리를 정말 깔끔히 하셨네요! 잘봤습니다~

답글 달기