웹 서버 (Web Server)

박영준·2023년 2월 20일
0

Web

목록 보기
1/4

1. 정의

웹 서버는 소프트웨어하드웨어 두 분야에서 다른 의미로 부른다.

1) 소프트웨어

  • "(일반적으로) HTTP 서버"

  • HTTP 서버
    - URL(웹주소) 및 HTTP(프로토콜 주소)를 이해하는 소프트웨어
    - HTTP 서버는 저장하는 웹 사이트의 도메인 이름을 통해 액세스 할 수 있으며, 이러한 호스팅 된 웹 사이트의 콘텐츠를 최종 사용자의 장치로 전달

  • HTTP 프로토콜을 기반으로, 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버
    → 만약, 웹 서버가 동적 컨텐츠를 요청받으면, 웹 서버는 WAS 에게 해당 요청을 넘김 + WAS에서 처리한 결과를 클라이언트에게 전달

2) 하드웨어

  • "웹 서버 소프트웨어 + 웹 사이트의 구성 요소 파일을 저장하는 컴퓨터"

  • 예시 : HTML 문서, 이미지, CSS 스타일 시트 및 JavaScript파일

2. Application Server

1) 필요성

정적인 HTML 페이지만 다루는 경우, 웹 서버는 Application Server 가 필요하지 않지만,
클라이언트의 요청을 Dynamic하게 처리해야할 경우, Application Server 가 필요하다.
(물론, 한 서버 내에서 '웹 서버 + 웹 어플리케이션' 이 같이 동작하는 경우도 있다.)

2) 정의

  • Web Server 와 DB 사이에서 동작하는 서버

  • Application Server 에는 Web Application 이 동작하고 있다.

    • 'Web Application' 란?
      • 프로그래밍 언어로 구현된다.
      • runtime libraries, database connector, web server connector 를 활용해, 웹 서버 뒤에서 실제 클라이언트의 요청을 처리

3. Web Server 와 WAS

Web Server 와 WAS 에 대한 비교는 Apache 와 Tomcat 의 비교와 일맥상통한다.
Apache = Web Server
Tomcat = WAS = Web Server + Web Container(Servlet Container) 이기 때문이다.

참고: Servlet 과 Spring - 3) Servlet Container - (2) Tomcat (Apache Tomcat)

4. Web Service Architecture (구조)

(아래 中 3번 구조)

웹 서비스는 아래와 같이 다양한 구조를 가질 수 있다.

  1. Client -> 웹 서버 - > DB

  2. Client -> WAS -> DB

  3. Client -> 웹 서버 -> WAS -> DB
    클라이언트가 웹 서버에 HTTP 요청을 보내면
    웹 서버는 정적인 컨텐츠 요청은 바로 응답하고
    동적인 컨텐츠 요청은 WAS 에게 넘겨서 처리하고
    결과를 WAS 에게 받아서 클라이언트에게 넘겨준다.


참고: Apache? Tomcat?? 둘이 무슨 차이지?
참고: [Web] 웹 서버(Web Server)와 WAS의 차이
참고: [Web] Web Server란? Application Server란? (개념 정리)

profile
개발자로 거듭나기!

0개의 댓글