본문 바로가기
공부/웹

웹서버 vs WAS

by JERO__ 2022. 9. 8.

웹서버, WAS 차이를 알아보자

정적페이지 vs 동적페이지

정적페이지: 항상 동일한 페이지 반환(image, html, css)

동적페이지: 동적인 contents 반환

  1. 웹서버가 Client로부터 요청을 받는다. (GET /naepyeon?id=zero)
    • 동적인 데이터를 처리하기 위해 WAS에 전송한다.
    • Servlet: doGet(req, res)
  2. 동적 데이터를 처리한다.
    • Client에 response 페이지 반환한다.

1. 웹 서버는 어떤 일을 할까?

웹 서버는 대표적으로 Apache, Nginx 등이 있다.

  • 정적페이지 제공
    • WAS를 거치지 않는다(바로 제공한다).
  • 동적페이지 제공을 위해 WAS에 요청 전달
    • WAS에 처리요청
    • WAS가 처리한 결과를 클라이언트에 전달

즉, 웹 서버는 JSP, PHP같은 응용프로그래밍 언어를 해결할 수 없기에 WAS를 통해 처리한다.

2. WAS (= Servlet Container)

WAS는 대표적으로 Tomcat이 있다.

  • 동적인 컨텐츠를 제공하기 위한 서버
    • 주로 DB서버와 같이 수행된다.
  • 용어
    • Servlet: 클라이언트 요청을 처리하고 반환하는 기술
    • Container: Servlet, JSP 등을 실행시킬 수 있는 소프트웨어
    → 클라이언트 요청을 처리하고 반환하는 소프트웨어

3. Apache vs nginx

  • Apache
    • 대규모 커뮤니티, 모듈 다양
    • 요청 당 스레드 또는 프로세스가 처리 (CPU/메모리 자원 낭비 심함)
  • nginx
    • 비동기 이벤트 기반: 요청들을 이벤드로 등록, 비동기로 대기 → 완료되는 요청부터 응답
    • 한 개의 고정 프로세스 생성 → 적은 양의 스레드 사용

'공부 > ' 카테고리의 다른 글

HTTP란? (특징, 버전, 캐싱)  (0) 2022.09.08
웹과 HTML  (0) 2022.03.23

댓글