스프링

Apache Tomcat

만듀 2022. 7. 13. 23:02

웹서버란?

클라이언트가 get,post 등의 메소드를 이용해 전송한 요청을 받아 html이나 오브젝트를 HTTP프로토콜을 이용하여 전송하는 프로그램이다. 웹서버는 웹페이지, 이미지 등의 정적인 컨텐츠만 제공할 수 있다.

 

웹은 클라이언트-서버 사이의 데이터 교환을 목적으로 하기 때문에 네트워크 통신이 반드시 필요하다. 이를 제공하는 것이 웹 서버와 웹 브라우저이다.

 

WAS(Web Application Server)란?

WAS는 웹서버와 웹컨테이너의 결합으로 이루어진 소프트웨어이다. 웹서버를 포함하고 있기 때문에 웹서버처럼 사용이 가능하다. DB와 연결되어 트랜잭션 처리 및 다른 시스템과의 연동 기능을 포함하고 있다. 또한 웹서버와 달리 DB와 연결되어 데이터 처리를 할 수 있기 때문에 요청에 대해 동적인 페이지를 만들어 유연하게 응답가능하다.

Apache(아파치) = Web Server

일명 웹서버로 불리며 클라이언트 요청이 왔을때만 응답하는 정적 웹페이지에 사용된다.

  • 웹서버=80 포트로 클라이언트 요청(POST,GET,DELETE)이 왔을때만 응답
  • 정적인 데이터만 처리한다.(html,css,이미지 등)

Tomcat(톰캣) = WAS (Web Application Server)

dynamic웹을 만들기 위한 웹 컨테이버, 서블릿 컨테이너라고 불린다. 웹서버에서 정적으로 처리해야할 데이터를 제외한 JSP,ASP,PHP등은 웹 컨테이너 (톰캣)에게 전달한다. 톰캣(WAS)를 쓰면 동적인 데이터 처리가 가능하다. DB연결, 데이터 조작, 다른 응용프로그램과 상호작용이 가능하다. 톰캣은 8080포트로 처리한다.

  • 컨테이너, 웹 컨테이너, 서블릿 컨테이너라고 부름
  • JSP,서블릿 처리, http요청 수신 및 응답
  • 아파치만 쓰면 정적인 웹페이지만 처리하므로 처리속도 매우 빠르고 안정적

Tomcat의 디렉토리 구조

  • Bin: 톰캣 서버의 동작을 제어할 수 있는 스크립트 및 실행 파일
  • Conf: 톰캣의 기본적인 설정 파일
  • Lib: 아파치와 같은 다른 웹 서버와 톰캣을 연결해주는 바이너리 모듈들
  • Webapps: 톰캣이 제공하는 웹 애플리케이션의 기본 위치
  • Logs: 서버의 로그 파일이 저장
  • Work: jsp 컨테이너와 다른 파일들이 생성하는 임시 디렉토리
  • Temp: 임시 저장 폴더

아파치 톰캣(Apache+Tomcat)

톰캣이 아파치의 기능 일부를 가져와서 제공하는 형태

아파치만 사용할 경우 정적인 웹페이지만 처리가능하고, 톰캣만 사용할 경우 여러 사용자가 요청할 시 과부하가 걸릴수 있다.(왜?) 함께 사용하는 아파치 톰캣의 경우 아파치는 정적인 데이터, jsp처리는 web container(톰캣의 일부)로 보내주어 분산처리할 수 있다.

 

 

 

 

참고 

https://byul91oh.tistory.com/65

 

[Apache Tomcat] 아파치 톰캣이란 ?

리눅스 서버나 웹서버를 만들다보면 만나는 Apache Tomcat에 대해 알아보자. 아파치 톰캣 ? Server, Web Server 우리가 사용하는 웹페이지는 아파치와 톰캣으로 이루어져있다. 리눅스 서버를 만들거나 웹

byul91oh.tistory.com

https://kchanguk.tistory.com/2

 

아파치(Apache)와 톰캣(Tomcat)은 무엇인가

아파치(Apache)란 Apache의 개념 Apache란 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버입니다. Apache는 오픈 소스이기 때문에 누구든지 수정, 재배포가 가능합니다. 게다가 Apache는 다양한 기능을

kchanguk.tistory.com

 

'스프링' 카테고리의 다른 글

[JAVA] Map To List<Object>  (0) 2022.07.25
Transaction(트랜잭션)에 대한 이해  (0) 2022.07.03
스프링, 스프링 부트 접미사  (0) 2022.04.24
Spring Annotation 정리  (0) 2022.04.16
스프링 배치 프로세스  (0) 2022.04.16