Web서버와 Was서버

최용혁·2024년 12월 16일

웹 클라이언트(Web Client)

사용자가 웹에 접근하는 프로그램으로 Chrome과 같은 웹 브라우저이다.
사용자가 웹 애플리케이션에 접근하기 위한 장치나 애플리케이션. 보통 브라우저가 여기에 해당된다.

  • 사용자가 입력한 요청(HTTP 요청)을 웹 서버로 전송
  • 웹 서버로부터 받은 응답(HTML, CSS, JS 등)을 화면에 렌더링

웹 서버(Web Server)

서버는 클라이언트에서 요청한 HTTP 메시지를 확인한 후, HTML, CSS, Image 등의 데이터를 처리하여 클라이언트에 응답한다.

  • HTTP 요청을 수신하고 처리.
  • 정적 파일을 제공하거나, 동적 요청은WAS로 전달
  • Apache WEB Server
  • Ngix
  • Microsoft IIS

WAS 서버(Web Application Server)

WAS는 웹 애플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달하는 일종의 미들웨어를 말한다.
웹 애플리케이션의 동적 요청을 처리하는 서버. 주로 비즈니스 로직을 처리하고, 데이터베이스와 상호작용 한다.
php, jsp, asp와 같은 언어들을 사용해 동적인 페이지를 만들어낼 수 있는 서버.

  • Apache Tomcat
  • Jetty
  • JBoss
  • Spring Boot(내장 WAS로 실행가능)

WAS 서버는 단순히 비즈니스 로직을 처리하는 것 외에도 다음과 같은 기능을 제공한다.

  • 세션관리 : 사용자 로그인 상태 유지.
  • 트랜잭션 관리 : 데이터 일관성을 보장.
  • 사용자 인증 및 권한 부여 : 로그인 및 접근 제어
  • 로깅 및 모니터링 : 애플리케이션

DB 서버(Database Server)

데이터를 저장하고 관리하는 서버. 웹 애플리케이션의 핵심 데이터를 보관하며, SQL을 통해 데이터 접근이 이루어진다.

  • MySQL, PostgreSQL
  • Oracle DB, Microsoft SQL Server
  • MongoDB, Redis
    ex) WAS가 "특정 사용자 정보"를 요청하면 DB서버는 해당 데이터를 조회하여 반환

각 요소 간의 연관성

  1. 클라이언트 : 사용자가 브라우저에서 상품 목록을 요청(URL 입력)
  2. 웹 서버 : 요청을 받고, 정적 파일 요청인지 확인. 동적 요청이라면 WAS로 전달.
  3. WAS 서버 : 클라이언트 요청에 따라 DB에서 데이터를 조회하고 HTML이나 JSON 응답 생성.
  4. DB 서버 : 요청받은 데이터를 조회하고 WAS에 반환.
  5. WAS -> 웹 서버 -> 클라이언트로 최종 응답 전송.
profile
안녕하세용

0개의 댓글