개발노트

Apache / Tomcat 개념 본문

Programming/Server

Apache / Tomcat 개념

dev? 2022. 5. 26. 20:23
반응형

Apache ( Apache HTTP Server )

- 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 만든 웹서버 프로그램

 

웹 서버 ( web server )

- 하드웨어 / 소프트웨어 분야에서 다른 의미로 정의된다. 

하드웨어 소프트웨어
- 웹 서버 소프트웨어와 웹 사이트의 구성 요소 파일을 저장하는 컴퓨터
- 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)를 주고받을 수 있도록 
한다.
(Ex : HTML 문서, 이미지, CSS 스타일 시트 및 JavaScript파일)
- HTTP 서버를 의미한다.
- 웹 사용자가 어떻게 호스트 파일들에 접근하는지를
관리한다.

 

※ HTTP 서버

- URL(웹주소) 및 HTTP(프로토콜 주소)를 이해하는 소프트웨어

- 웹 사이트의 도메인 이름을 통해 액세스 할 수 있으며 이러한 호스팅 된 웹 사이트의 콘텐츠를 사용자의 장치로

전달한다.

 

https://velog.io/@kdhyo/

 

[ 동작 순서 ]

1. 브라우저는 HTTP를 통해 웹 서버에 파일을 요청한다. 

2. 요청이 올바른 웹 서버(하드웨어)에 도달하면 HTTP 서버(소프트웨어)가 요청을 수락

3. 요청된 파일을 찾는다. 

4. HTTP를 통해 브라우저로 다시 보낸다. (응답) 

(서버가 요청된 문서를 찾지 못할 경우, 404 에러 발생)

 

 

 

아파치 서버 ( Apache Server )

- 클라이언트에서 요청하는 HTTP요청을 처리하는 웹서버

- 정적타입(HTML, CSS, 이미지 등)의 데이터만을 처

 


 

톰캣 ( Tomcat )

= 톰캣 WAS(web application server)

- 아파치 소프트웨어 재단에서 후원하는 오픈소스 소프트웨어
- JAVA EE 기반으로 만들어졌으며, JSP와 Servlet을 구동하기 위한 서블릿 컨테이너 역할을 수행
- 아파치 서버와는 다르게 DB 연결, 다른 응용프로그램과 상호 작용 등 동적인 기능들을 사용 가능

- 컨테이너, 웹 컨테이너, 서블릿 컨테이너로도 불림

 

컨테이너(container) 서블릿(servlet) 서블릿 컨테이너(servlet container)
동적인 데이터들을 가공하여 
정적인 파일로 만들어주는 모듈
클라이언트의 요청을 받고 요청을 처리하여 결과를 클라이언트에게 제공하는 자바 인터페이스 - 서블릿들을 모아 관리한다. 
- 새로운 요청이 들어올 때마다 
  새로운 스레드를 생성한다.
- 작업이 끝난 서블릿 스레드를
  자동 제거한다.
  java.servlet.package에 정의된 인터페이스로서 세 가지 필수적인 메소드들을 정의해야 한다. 

- init()
- service()
- destory()
 

 

※ WAS(wab application server)

DB 처리, 로직 처리를 요구하는 동적 타입을 제공하는 소프트웨어 프레임워크를 의미한다.

 

[ 기능 ]

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

 

톰캣 WAS(web application server)

- DB 처리, 로직 처리를 요구하는 동적타입을 제공하는 소프트웨어 프레임워크

아파치 서버가 처리 할 수 없는 동적인 데이터를 처리 

 

 

 

 


https://velog.io/@two_jay/%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8-%EC%84%9C%EB%B2%84-%EB%AA%A8%EB%8D%B8-5%EB%B6%84-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0

 

클라이언트-서버 모델 : 5분 개념잡기

velog.io

https://velog.io/@kdhyo/Apache-Tomcat-%EB%91%98%EC%9D%B4-%EB%AC%B4%EC%8A%A8-%EC%B0%A8%EC%9D%B4%EC%A7%80

 

Apache? Tomcat?? 둘이 무슨 차이지?

학교에서 php를 하고, 회사에서 spring boot + jsp를 사용하면서아파치 톰캣을 자연스럽게 사용하게 되었다.하지만, 사용하는 동안 이게 도대체 무엇이길래 웹을 할 때 많은 곳에서 사용하는지?이게

velog.io

 

반응형

'Programming > Server' 카테고리의 다른 글

Window 방화벽 포트 허용 (인바운드)  (0) 2024.07.05
cookie / session  (0) 2022.07.24
URL 구조  (0) 2022.05.24
GET 방식 / POST 방식  (0) 2022.05.23
IP 주소  (0) 2022.05.18