아파치랑 톰캣, Web Server와 WAS

Kevin·2024년 3월 4일

Server

목록 보기
3/14
post-thumbnail

Apache(Web Server)

아파치란 Apache HTTP Server를 의미하는 데 이는 오픈 소스 소프트웨어 그룹인 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 만든 웹서버 프로그램이다.


그러면 웹 서버 프로그램이란 무엇일까?

웹 서버는 하드웨어와 소프트웨어에서 각기 달리 불린다.

  1. 하드웨어

    웹 서버 소프트웨어와 웹 사이트의 구성 요소 파일을 저장하는 컴퓨터를 의미한다.

    ex) HTML, 이미지, CSS 스타일 시트 및 JS 파일

  2. 소프트웨어

    → 보통 HTTP 서버를 의미한다.

    HTTP 서버는 URL과 HTTP를 이해하는 SW이며, 저장하는 웹 사이트의 도메인 이름을 통해서 액세스 할 수 있으며, 이러한 호스팅 된 웹 사이트의 콘텐츠를 최종 사용자의 장치로 전달한다.


브라우져에 웹 서버 에서 호스팅 되는 파일(HTML, 이미지…)이 필요할 때마다 브라우저는 HTTP를 통해서 파일을 요청한다.

요청이 올바른 웹서버(하드웨어)에 도달하면 HTTP 서버(소프트웨어)가 요청을 수락하고, 요청된 문서를 찾은 다음에 HTTP를 통해 브라우저로 다시 보낸다.

아파치 서버는 클라이언트에서 요청하는 HTTP 요청을 처리하는 웹 서버이다.

이러한 아파치 서버(Web Server)는 80번 포트로 클라이언트 요청이 왔을 때만 응답한다.

Tomcat(Web Application Server)

톰캣이란 WAS(Web Apllcation Server)이다.

그러면 WAS(Web Apllcation Server)이란 무엇일까?

WAS란

→ DB 처리, 로직 처리를 요구하는 동적타입을 제공하는 SW 프레임워크이다.

  • 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
  • 여러 개의 트랜잭션을 관리한다.
  • 업무를 처리하는 비즈니스 로직을 수행한다.

Tomcat은 JSP와 Servlet을 구동하기 위한 서블릿 컨테이너의 역할을 수행하며, 아파치 서버와는 다르게 DB 연결 및 다른 응용 프로그램과 상호 작용등 동적인 기능을 사용할 수 있다.

컨테이너 → 동적인 데이터들을 가공하여서 정적인 파일로 만들어주는 모듈

동적이다 -> 사용자의 요구사항에 유연하다는 뜻이다.


궁금증

Apache-Tomcat이라고 불리는걸까?

톰캣(WAS)에서 편의를 위해 아파치의 기능(웹 서비스 데몬, Httpd)을 포함하고 있기 때문이다.

즉, 톰캣이 아파치의 기능 일부를 가져와서 제공해주는 형태이기에 같이 합쳐서 부른다.


그러면 아파치 서버(Web Server) 없이 톰캣 서버(Web Application Server)로만 웹 서비스를 구축할 수 있겠네?

→ 맞다. 그러나 톰캣 서버도 html, image등의 정적 요청을 처리할 수 있지만, Web Server에 비해서 처리 속도가 느리며, 아파치의 모든 기능을 제공하는 것이 아니다.

그래서 일반적으로는 앞단에 아파치 서버를 설치하고, 톰캣과 연결해서 사용하는 경우가 일반적이다.

profile
Hello, World! \n

0개의 댓글