WebServer / WAS

twocowsong·2023년 4월 23일
0

Server

목록 보기
1/1

Web server란?

인터넷 상에서 HTTP를 통해 클라이언트로부터 요청한 웹 페이지나 파일 등을 제공하는 소프트웨어입니다.
웹 서버는 인터넷을 통해 전송되는 웹 페이지나 문서 등의 정적 컨텐츠 를 제공하며, 이를 위해 HTTP 프로토콜을 사용하여 클라이언트와 통신합니다.

단, 동적 컨텐츠 요청 시에는 Web Application Server(WAS)로 전달하여 WAS가 처리한 결과를 클라이언트에게 전달 합니다.

Web Application Server(WAS)란?

DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 프로그램입니다.
웹 어플리케이션을 실행하기 위한 미들웨어로 서버의 OS 위에 설치되어 웹 어플리케이션을 실행하고 관리하는 소프트웨어입니다.
WAS는 JSP, Servlet, ASP 등의 동적인 웹 페이지를 처리할 수 있으며, 데이터베이스와의 연동, 트랜잭션 관리, 보안, 로깅 등 다양한 기능을 제공합니다.
대표적인 WAS로는 Apache Tomcat, JBoss, WebSphere, WebLogic 등이 있습니다.

Web Server와 WAS를 같이 사용했을때의 장점

  • 책임 분할을 통한 서버 부하 방지
  • 웹서버가 WAS에게 작업을 분산하는 로드밸런싱처리 가능
  • 웹서버가 여러대의 WAS에게 Health check 가능
  • 앞단에 리버스 프록시를 통해 실제 서버를 외부에 노출하지않게 가능

정적 컨텐츠

  • 요청 인자 값에 상관없이 달라지지않는 컨텐츠 ex)Html, css, Text
  • 정적 컨텐츠는 대개 서버 측에서 미리 생성되어있기 때문에, 서버의 부하를 줄이고 클라이언트에게 빠르게 응답이 가능
  • CDN과 같은 기술을 이용하여, 전 세계적으로 분산된 서버에서 정적 컨텐츠를 캐싱하고 제공함으로 써 빠른 전송이 가능

CDN

  • 전 세계의 분산된 다수의 서버를 이용하여 컨텐츠르 제공하는 기술
  • CDN은 사용자가 웹 사이트에 접속 할 때, 사용자와 가장 가까운 서버에서 컨텐츠를 가져와 전송함으로 빠른속도와 안전성을 제공
  • 대표적으로 AWS CloudFront, Akamai, Cloudflare, Google Cloud 등이 있음

Servlet

  • 자바 언어를 기반으로 하는 서버 사이드 웹 어플리케이션 개발을 위한 기술
  • 클라이언트의 요청에 대해 동적으로 웹 페이지를 생성하고, 응답을 제공하는 Java 클래스
  • 웹 서버와 함께 동작하며, 웹 서버는 클라이언트의 요청을 받으면 Servlet 컨테이너에 해당 요청을 전달
  • Servlet 컨테이너는 해당 요청에 대한 Servlet을 실행하고, 웹 페이지를 생성하여 클라이언트에 응답
profile
생각하는 개발자

0개의 댓글