웹서버란?
클라이언트가 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 |