대표적인 웹서버
- Apache
가장 대표적인 HTTP 서버는 Apache이다. 1995년 이후 단 한번도 1위의 자리를 놓친적이 없었으나 최근 들어 Nginx에게 밀리는 추세이며, 거의 모든 운영체제에서 효율적으로 운영되지만 Linux와 사용될때 가장 최적화 된다.장점
1. 오픈소스로 무료이다.
2. 확장성이 좋다.
3. 보안 수준이 높다.
단점
1. 많은 기능들로 인해 느린 측면이 있다.
2. 오버헤드가 발생한다.
오버헤드: 프로그램의 실행흐름 도중에 동떨어진 위치의 코드를 실행시켜야 할 때 , 추가적으로 시간,메모리,자원이 사용되는 현상이다.- Nginx WEB Server
Nginx는 메일 프록시, 리버스 프록시 서버로 무료 오픈 소스로 사용할 수 있는 HTTP 서버이다. 그리고 최소한의 리소스로 많은 수의 동시 사용자를 처리로 대규모 웹 트래픽 처리 상황이 발생할 때 고효율을 발휘한다.장점
1. 오픈소스로 무료이다.
2. Apache에 비해 가볍다.
3. 프록시 기능이 뛰어나다.
프록시: 클라이언트에서 요청하여 서버에서 응답받아 처리하는 방식에서 중간에 프록시 서버를 두고 중계역할을 하는 개념
단점
1. 커뮤니티의 자료 부족.
2. 확장모듈이 Apache에 비해 적다.- IIS WEB Server
IIS는 Microsoft에서 제공하는 소프트웨어이며 유료이다. 익숙한 GUI를 통해 접근성이 용이하다.장점
1. Microsoft에서 지원한다.
2. ASP, MSSQL 등과 같은 다른 Microsoft 서비스와 쉽게 통합할 수 있다.
3. 간편한 GUI를 지원한다.
단점
1. 유로이며, 가격이 비싸다.
2. Windows Server 에서만 동작한다.
3. Apache 와 Nginx에 비해 더디고 느리다.
JSP
- Java Server Pages의 약자이며, HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.
- JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.
WAS가 만능처럼 보이지만?
WAS만 사용한다면 정적 컨텐츠(웹서버 담당) 요청까지 처리하게된다. 그렇게되면 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려지고 최후에는 페이지 노출 시간이 늘어나는 문제가 발생하여 효율성이 크게 떨어지게 되는것이다.
일반적으로 웹서버를 WAS 앞에 두고 필요한 WAS들을 웹서버에 플러그인 형태로 설정하면 더욱 효율적인 분산처리가 된다.
Apache를 검색하거나 Tomcat을 검색하다 보면 웹서버와 was의 차이점이 있다는 것을 알게 된다. 그렇다면 Apache Tomcat도 자주 보이게 되는데...
Apache Tomcat? 2008년에 릴리즈된 Tomcat5.5 버전부터 정적 컨텐츠를 처리하는 기능이 추가되었다고 한다. 순수 Apache만 사용하는 것에 비해 성능차이가 없어 Apache의 기능들을 Tomcat이 포함하고 있다고 해서 Apache Tomcat라고 부르고 있는것이다.