위로
아래
웹 서버
웹서버
- 특징
- 정적
- 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 반응하는, 정적인 HTML 페이지나 이미지를 제공하는 서버.
- 종류
- 아파치 (Apache) HTTP Apache Server
- 넷스케이프 엔터프라이지 Server
- 마이크로소프트 IIS (Internet Informaition Server)
아파치 서버
HTTP 아파치 서버 (HTTP Apache Server)
- Apache 재단에서 만든, 웹 사이트를 인터넷에 호스팅할 수 있는 무료 오픈 소스 월드와이드 웹 서버용 소프트웨어.
- 보안 : SSL / TLS 암호화, 액세스 제어, 인증 등의 보안 기능 제공
- 모듈 : 모듈식으로 설계되어, 필요에 따라 모듈을 추가/제거 가능
- mod_ssl: SSL/TLS 암호화를 제공. 서버와 클라이언트 간의 보안 통신 허용.
- mod_rewrite : 검색 엔진 친화적인 URL, 사용자를 다른 페이지로 리디렉션하는 데 사용할 수 있는 URL 재작성 허용.
- mod_cache : 캐싱 기능을 제공. 응답 시간을 단축하고 서버 부하를 줄임.
- mod_php : Apache 서버에서 PHP 스크립트를 사용.
- mod_perl : Apache 서버에서 Perl 스크립트를 사용.
- 융통성 : 캐싱, 압축, 연결 제한 같은 설정 조정 가능, 최적화하기 좋음
- 프로세스 기반 아키텍처 : 각 요청이 별도의 프로세스에 의해 처리. 서버 오버로드 없이 동시에 여러 요청 처리.
- 구축이 쉽다.
- 프로그램이 무겁다.
- 무료.
- 정적인 데이터를 처리한다. (동적 데이터 처리를 위해서는 톰캣 같은 어플리케이션이 필요하다)
- 구성 파일
- httpd.conf
- .htaccess
WAS
WAS (Web Application Server)
- 특징
- 동적.
- 웹 서버 + 웹 콘테이너(JSP, Servlet을 실행시킬 수 있는 소프트웨어). 동적인 데이터를 처리하는 서버.
- DB(데이터베이스)와 연결되어 있어 데이터를 주고 받는다.
- 서비스 처리 속도를 위해, 동적 처리는 WAS가 맡고, 정적 처리는 웹서버에서 하는 것이 최적이다.
- 단순 HTML과 같은 정적인 이미지를 제공하는 서버의 경우 WAS보다는 웹서버를 이용하는 편이 빠르고 안정적이다.
- 종류
- 아파치 톰캣 (Apache Tomcat) : 아파치. 오픈 소스 서블릿 콘테이너. 무료.
- 이클립스 제티 (Jetty) : 이클립스에서 개발한 오픈 소스 서블릿 컨테이너. 애플리케이션 내에 직접 포함하기 위해 경량화된 WAS으로, 가볍고 빠른 퍼포먼스와 유연성. 임베디드 웹 서버나 마이크로서비스 아키텍처에 적합.
- 레드햇 JBoss : 레드햇에서 제공. java EE 전체 스택을 지원하는 오픈소스 WAS. 복잡한 엔터프라이즈 애플리케이션을 개발하는 데에 적합하다.
- 오라클 WebLogic : 오라클 제공. 상업용 풀스펙 Java EE WAS. 큰 규모의 엔터프라이즈 애플리케이션에 주로 사용. 오라클 데이터베이스, 오라클 클라우드와의 통합성.
- IBM WebSphere : IBM 제공. 상업용 WAS. Java EE 풀스펙 지원.
- TmaxSoft JEUS : 국내 업체인 TmaxSoft 제공. JEUS는 Java EE를 완전히 지원하는 토종 WAS.
톰캣 (Tomcat)
- 아파치 소프트웨어 재단의 웹 어플리케이션 서버(WAS). 자바를 사용함.
- 웹 서버(아파치 서버 등)에서 넘어온 동적 페이지 읽어들여 프로그램 실행, 그 결과를 다시 html로 재구성해 웹서버에 돌려보냄.
- 내부 웹 서버를 지니고 있어 독립적으로 사용이 가능. (대부분 웹 서버와 연동해서 사용한다)
- JRE 1.1 이상이 부합된 자바 런타임 환경을 필요로 한다.
- 자바 서블릿을 실행시키고 jsp코드가 포함된 웹페이지를 만들어준다.
- 9버전과 10버전의 차이 : https://blog.itcode.dev/posts/2022/02/12/tomcat-9-and-10