웹 서버  : 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램

웹 서버 (하드웨어) : 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터

 

웹 서버(Web Server)는 HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램을 말한다. 웹 서버 소프트웨어를 구동하는 하드웨어도 웹 서버라고 해서 혼동하는 경우가 간혹 있다.

 


(1) Apache HTTP Server

 

아파치 재단에서 관리하는 HTTP 웹서버.


BSD, 리눅스등 유닉스 계열, 윈도우, 노벨 넷웨어에서도 사용가능.

 

리눅스 운영 체제, 아파치 웹 서버, MySQL 데이터베이스, PHP등으로 웹 서버를 운영하는 것을 각각의 머릿글자를 따서 LAMP라고도 부르기도 한다.
톰캣(Tomcat), Resin 등의 웹 애플리케이션 서버와 같이 사용할 수 있다.
Open-SSL, Mod-SSL 을 설치하여, 보안을 강화할 수 있다. (http → https)

 

(2) Tomcat

 

아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버

 

톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공

자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공

톰캣은 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, 톰캣은 HTTP 서버도 자체 내장하기도 한다.

 

아파치 톰캣은 Apache Licence, Version 2를 채용한 오픈소스 소프트웨어

서블릿이나 JSP를 실행하기 위한 서블릿 컨테이너를 제공

상용 웹 애플리케이션 서버에서도 서블릿 컨테이너로 사용하는 경우가 많다.

버전 5.5 이후는 기본적으로 Java SE 5.0 이후를 대응한다.

 

(3) IIS

 

Windows Server의 웹 서버(IIS) 역할은 웹 사이트, 서비스 및 응용 프로그램을 안정적으로 호스팅하기 위한 안전하고 확장 가능하며 쉽게 관리할 수 있는 모듈식 플랫폼을 제공.

 

IIS 8에서는 인터넷, 인트라넷 또는 엑스트라넷을 통해 사용자와 정보를 공유할 수 있다.

IIS 8은 IIS, ASP.NET, FTP 서비스, PHP 및 WCF(Windows Communication Foundation)를 통합하는 통합형 웹 플랫폼이다.

 

(4)Weblogic

 

Oracle WebLogic Server 클라우드 네이티브 엔터프라이즈 Java 플랫폼으로서 클라우드 컴퓨팅의 이점을  활용할 수 있도록 지원. 

 

고유의 멀티테넌시 기능은 대규모 통합을 실행. 

경량의 마이크로컨테이너 아키텍처는 프로이빗 및 퍼블릭 클라우드 간의 애플리케이션 격리와 100% 이식성을 보장. 

복수의 데이터센터 고가용성 아키텍처가 애플리케이션 중단으로부터 보호. 

완벽한 Java EE 7 및 Java SE8 지원을 통한 개발자 혁신으로 DevOps 생산성을 극대화할 수 있다. 

Oracle WebLogic Server를 기반으로 하는 Oracle Java Cloud Service를 통해 온프레미스 및 클라우드 환경의 동일한 플랫폼에 계속해서 접근할 수 있다.

 

 

(5)Web sphere

 

WebSphere Application Server용 웹 서버 및 웹 서버 플러그인이 동일한 시스템에 있고 Application Server는 다른 시스템에 있을 때 관리 콘솔에 웹 서버 정의를 작성할 수 있다.

 

한 플랫폼에서는 애플리케이션 서버를, 다른 플랫폼에는 웹 서버를 실행할 수 있다.

 

웹 서버와 WAS의 차이점

 - 웹 서버와 WAS를 구별 짓는 것은 동적 서버 콘텐츠를 수행하는가? 만약 수행한다면 WAS로 보면 된다.
 - 웹 서버 : 정적인 HTML이나 이미지를 제공하는 서버.
   WAS : 동적인 처리를 담당하는 서버.

웹 서버와 WAS의 일반적인 구성

 - 사용자가 브라우져에서 요청을 하게 되면 다음과 같이 웹서버와 WAS서버를 거쳐 돌아오게 된다.
 - 사용자 요청(웹브라우저 -> 웹 서버-> WAS(동적처리) ->웹서버-> 사용장 응답메세지(웹브라우져)

웹 서버(Web Server)

 - 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 것.
   사용자가 클라이언트로 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내준다.

 - 사용자가 요청한 것들 중에 웹 서버 자체적으로 처리할 수 없는 것들을 톰캣과 같은 컨테이너나 PHP 모듈과
   같이 처리할 수 있는 곳으로 넘겨 처리 결과를 받아와서 사용자에게 넘겨주는 역할도 수행한다.

 - 웹 서버만 구축된 서버는 웹 페이지, 이미지 등 정적인 페이지를 생성하지만,

   JSP 컨테이너가 탑재되어 있는 WAS는 JSP 페이지를 컴파일 해 동적인 페이지를 생성한다.

 - 웹 서버는 웹 문서를, WAS는 JSP 페이지 등을 양분하여 서버 부담을 줄이는 것이 가능하다.

 - Apache, IIS(Internet Information Server), WebtoB 등

웹 어플리케이션 서버(Web Application Server / WAS)

 -  웹 서버 + 웹 컨테이너.

 -  웹상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버

 - EJB와 같은 빈들이 올라가게 되며, 서버에 따라 웹에 필요한 많은 기능들을 포함하고 있다.

 - J2EE 스펙을 구현한 서버(JSP / Servlet Container와 EJB Container 로서의 기능)

 - 가장 많이 사용하는 WAS는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat,
    Redhot사의 JBoss 등이 있다.)

 - Tomcat은 JSP / Servlet Container의 기능을 구현했으나 EJB Container로서의 기능은 없다.
    따라서 Tomcat은 Was가 아니라는 사람들도 있다.

컨테이너(Containner)

 - JSP와 서블릿을 이용하는 웹 응용 프로그램은 자바 언어를 이용해서 작성할 수 있는데,
   JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너
   (Servlet Container)라고 한다.

 - Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며, 대표적인 웹 컨테이너로는
   자카르타 톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.

 - 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고,
   서블릿의 수행결과를 웹 서버에서 전달하게 된다. 

[출처] 웹서버와 WAS서버의 종류와 의미|작성자 hhm731

모든 웹사이트는 웹 서버라는 컴퓨터를 기반으로 존재한다. 이 서버는 항상 인터넷에 연결되어 있다. 인터넷에 연결된 모든 웹 서버는 예를 들어 68.178.157.132와 같이 0과 255사이의 숫자로 이루어진 4개의 일련의 번호와 점으로 구분된 주소를 가지고 있다. 도메인 이름과 같은 웹 주소를 등록할 때 웹사이트를 호스팅하는 웹서버의 IP 주소를 등록하거나, 웹 기반 운영을 지원하는 전용 서버를 등록해야 한다.가장 널리 쓰이는 웹 서버로는 Apache, IIS, lighttpd, Jagsaw가 있다. 그 외에도 Netscape사의 iPlanet, Bea사의 Web Logic, IBM의 WebSphere가 있지만 매우 비싸다.

Apache web server – the HTTP web server

 Apache Software Foundation에서 개발한 세계적으로 가장 유명하고 널리 쓰이는 무료 웹 서버.  Apache 웹 서버는 오픈 소스 소프트웨어로써 Linux, Unix, Windows, FreeBSD, Mac OS X 등과 같은 거의 모든 운영 체제에서 설치 및 사용이 가능하다.

Apache Tomcat

 Apache Tomcat은 servlet과 JSP script을 지원하도록 개발되었다. Apache Tomcat만으로도 독립적으로 서버로 사용할 수 있지만, 보통 Apache HTTP 웹 서버나 다른 웹 서버와 함께 사용되고 있다. Apache Tomcat은 무료 오픈 소스이며 Linux, Unix, Windows, Mac OS X, Free BSD 등과 같은 다양한 운영 체제에서 사용이 가능하다

Microsoft사의 Internet Information Services (IIS) Windows Server

 IIS Windows 웹 서버는 기존 서버에 비해 높은 수준의 성능과 보안을 제공한다. Microsoft사로부터 양질의 지원을 받을 수 있으며, 계속 시장 점유율이 올라가는 추세이다

Nginx web server

 IMAP/POP3 프록시 서버를 포함하는 무료 오픈 소스 웹 서버. 전세계 도메인의 약 7.5%를 호스팅하고 있다. Nginx는 고성능, 안정성, 간단한 환경 설정과 낮은 리소스 사용으로 알려져 있다. Nginx는 리퀘스트를 스레드로 처리하지 않고, 확장성이 있는 이벤트 기반 설계로 적은 양의 예측 가능한 양의 메모리를 사용한다.

Lighttpd

 lighttpd는 FreeBSD 운영 체제와 함께 제공되는 무료 웹 서버이다. 오픈 소스 웹서버로 빠르고 보안성이 있으며 비교적 적은 CPU 파워를 사용한다. Windows, Mac OS X, Linux and Solaris 운영 체제에서 사용이 가능하다.

Jigsaw

 Jigsaw는 World Wide Web 컨소시엄(W3C)에서 개발되었다. 무료 오픈 소스로써 Linux, Unix, Windows, Mac OS X Free BSD 등과 같은 플랫폼에서 사용이 가능하다. Jigsaw는 Java로 쓰여졌으며 CGI 스크립트와 PHP 프로그램도 실행할 수 있다.

Klone

 Klone은 KoanLogic Srl사에서 개발되었으며, 정적/동적인 웹사이트를 위한 웹 서버와 SDK를 제공한다. 임베디드 시스템과 어플리케이션을 위한 웹 어플리케이션 개발 프레임워크이며, HTTP/S 서버나 PHP, Perl, ASP를 사용하지 않아도 된다.

Abyss web server

 Abyss 컴팩트 웹 서버는 Windows, Mac OS X, Linux, FreeBSD에서 사용이 가능하다. 개인 사용을 위한 에디션(X1)은 100% 무료이며, 프로페셔널 Abyss 웹 서버(X2)는 $60이다. HTTP/1.1, 보안성, CGI/FastCGI, 사용자 정의 오류 페이지, 비밀번호 보호, 안티 해킹 시스템, 다국어 원격 웹 관리 인터페이스 등을 제공한다.

Zeus web server

 Zeus 웹 서버는 Zeus technology Ltd사에서 개발된 유료 서버이며, Linux와 Free BSD 운영 체제에서 사용된다. eBay등 세계적으로 가장 많은 사용자들이 접속하는 웹 사이트의 웹 서버이며 속도, 신뢰성, 보안성, 유연성이 좋은것으로 알려져 있다.

Oracle Web Tier

 오라클은 http 트래픽을 처리하는 리버스 프록시와 캐싱 솔루션을 포함하는 두가지 웹 서버 옵션을 제공한다. iPlanet 웹 서버는 64 비트 멀티 프로세서를 위한 멀티스레드 설계, 보안성, 성능을 제공한다.

웹 서버 개발사 시장 점유율

[출처] 웹서버의 종류|작성자 hhm731

+ Recent posts