웹 서버 & WAS

miin·2023년 12월 27일
0

Network

목록 보기
12/13

웹 서버

  • 사전적 정의
    웹 브라우저 클라이언트로 부터 HTTP 요청을 받아들이고 HTML문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
  • 정적 컨텐츠
    클라이언트(사용자)가 웹 브라우저에서 어떠한 페이지 요청을 하면 웹 서버에서 그 요청을 받아 정적 컨텐츠(단순 HTML문서, CSS, javascript, 이미지, 파일 등 즉시 응답가능한 컨텐츠)를 제공하는 서버이다.
  • 동적 컨텐츠
    동적 컨텐츠를 요청 받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달해주는 역할도 가능

WAS

  • 사전적 정의
    인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로서, 주로 동적 서버 컨텐츠를 수행하는 것으로 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행
  • WAS는 웹 서버와 웹 컨테이너가 합쳐진 형태로서, 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다. 덕분에 사용자의 다양한 요구에 맞춰 웹 서비스를 제공할 수 있다
  • 웹 컨테이너 혹은 서블릿 컨테이너라고도 불린다
  • 대표적인 WAS 종류: Tomcat
  • 웹 컨테이너: 웹 서버가 보낸 JSP, PHP등의 파일을 수행한 결과를 다시 웹 서버로 보내주는 역할을 함

웹 서버 아키텍쳐

웹 어플리케이션은 요청 처리 방식에 따라 다양한 구조를 가질 수 있다

  • 클라이언트 -> Web Server -> DB
  • 클라이언트 -> WAS -> DB
  • 클라이언트 -> Web Server -> WAS -> DB

WAS만 써도 되는가? -> NO

WAS는 DB조회 및 다양한 로직을 처리하는데 집중해야 한다
따라서 단순한 정적 컨텐츠는 웹 서버에게 맡기며 기능을 분리시켜 서버 부하를 방지한다. 만약 WAS가 정적 컨텐츠 요청까지 처리하면 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려지고 이로 인해 페이지 노출 시간이 늘어나는 문제가 발생하여 효율이 크게 떨어진다

참고블로그

0개의 댓글