위로 아래

웹 서버

웹서버

  1. 특징
    1. 정적 
    2. 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 반응하는, 정적인 HTML 페이지나 이미지를 제공하는 서버.
  2. 종류
    1. 아파치 (Apache) HTTP Apache Server
    2. 넷스케이프 엔터프라이지 Server
    3. 마이크로소프트 IIS (Internet Informaition Server)

 

 


아파치 서버

HTTP 아파치 서버 (HTTP Apache Server)

  1. Apache 재단에서 만든, 웹 사이트를 인터넷에 호스팅할 수 있는 무료 오픈 소스 월드와이드 웹 서버용 소프트웨어.
  2. 보안 : SSL / TLS 암호화, 액세스 제어, 인증 등의 보안 기능 제공
  3. 모듈 : 모듈식으로 설계되어, 필요에 따라 모듈을 추가/제거 가능
    1. mod_ssl: SSL/TLS 암호화를 제공. 서버와 클라이언트 간의 보안 통신 허용.
    2. mod_rewrite : 검색 엔진 친화적인 URL, 사용자를 다른 페이지로 리디렉션하는 데 사용할 수 있는 URL 재작성 허용.
    3. mod_cache : 캐싱 기능을 제공. 응답 시간을 단축하고 서버 부하를 줄임.
    4. mod_php : Apache 서버에서 PHP 스크립트를 사용.
    5. mod_perl : Apache 서버에서 Perl 스크립트를 사용.
  4. 융통성 : 캐싱, 압축, 연결 제한 같은 설정 조정 가능, 최적화하기 좋음
  5. 프로세스 기반 아키텍처 : 각 요청이 별도의 프로세스에 의해 처리. 서버 오버로드 없이 동시에 여러 요청 처리.
  6. 구축이 쉽다.
  7. 프로그램이 무겁다.
  8. 무료.
  9. 정적인 데이터를 처리한다. (동적 데이터 처리를 위해서는 톰캣 같은 어플리케이션이 필요하다)
  10. 구성 파일
    1. httpd.conf
    2. .htaccess

WAS

WAS (Web Application Server)

  1. 특징
    1. 동적. 
    2. 웹 서버 + 웹 콘테이너(JSP, Servlet을 실행시킬 수 있는 소프트웨어). 동적인 데이터를 처리하는 서버. 
    3. DB(데이터베이스)와 연결되어 있어 데이터를 주고 받는다.
    4. 서비스 처리 속도를 위해, 동적 처리는 WAS가 맡고, 정적 처리는 웹서버에서 하는 것이 최적이다.
    5. 단순 HTML과 같은 정적인 이미지를 제공하는 서버의 경우 WAS보다는 웹서버를 이용하는 편이 빠르고 안정적이다.
    6.  
  2. 종류
    1. 아파치 톰캣 (Apache Tomcat) : 아파치. 오픈 소스 서블릿 콘테이너. 무료.
    2. 이클립스 제티 (Jetty) : 이클립스에서 개발한 오픈 소스 서블릿 컨테이너. 애플리케이션 내에 직접 포함하기 위해 경량화된 WAS으로, 가볍고 빠른 퍼포먼스와 유연성. 임베디드 웹 서버나 마이크로서비스 아키텍처에 적합.
    3. 레드햇 JBoss : 레드햇에서 제공. java EE 전체 스택을 지원하는 오픈소스 WAS. 복잡한 엔터프라이즈 애플리케이션을 개발하는 데에 적합하다.
    4. 오라클 WebLogic : 오라클 제공. 상업용 풀스펙 Java EE WAS. 큰 규모의 엔터프라이즈 애플리케이션에 주로 사용. 오라클 데이터베이스, 오라클 클라우드와의 통합성.
    5. IBM WebSphere : IBM 제공. 상업용 WAS. Java EE 풀스펙 지원.
    6. TmaxSoft JEUS : 국내 업체인 TmaxSoft 제공. JEUS는 Java EE를 완전히 지원하는 토종 WAS.

 

톰캣 (Tomcat)

  1. 아파치 소프트웨어 재단의 웹 어플리케이션 서버(WAS). 자바를 사용함.
  2. 웹 서버(아파치 서버 등)에서 넘어온 동적 페이지 읽어들여 프로그램 실행, 그 결과를 다시 html로 재구성해 웹서버에 돌려보냄.
  3. 내부 웹 서버를 지니고 있어 독립적으로 사용이 가능. (대부분 웹 서버와 연동해서 사용한다)
  4. JRE 1.1 이상이 부합된 자바 런타임 환경을 필요로 한다.
  5. 자바 서블릿을 실행시키고 jsp코드가 포함된 웹페이지를 만들어준다.
  6. 9버전과 10버전의 차이 : https://blog.itcode.dev/posts/2022/02/12/tomcat-9-and-10