1. 웹 서버(Web Server)
웹 서버는 하드웨어, 소프트웨어 크게 두가지 측면에서 구분합니다.
1) 하드웨어
물리적 컴퓨터나 서버로, 웹 서버 소프트웨어가 실행되는 플랫폼을 제공합니다. 따라서 하드웨어 측면에서 고성능, 안정성, 확장성 등을 갖추고 있어야 합니다.
2) 소프트웨어
소프트웨어적인 측면에서 웹 서버는 클라이언트의 HTTP 요청을 처리하고, 적절한 응답을 제공하는 애플리케이션입니다.
2. Apache HTTP Server
Apache는 크로스 플랫폼으로 Windows, Unix 계열에서 모두 사용 가능한 시스템입니다.
특징으로는 다음과 같습니다.
- 모듈화 구조 : 다양한 기능을 제공하는 수많은 모듈을 통해 확장 가능
- 커뮤니티 활성화 : 오랜 기간 사용되어 많은 유저를 보유하고 있어서 풍부한 문서와 커뮤니티가 정립
- 높은 유연성 : 다양한 설정과 구성 옵션을 통해 사용자 요구에 맞게 조정
Apache는 정적 웹사이트 호스팅, PHP애플리케이션 서버, 리버스 프록시 등으로 사용 가능합니다.
3. Nginx
Nginx 역시 크로스 플랫폼으로 Windows, Unix 계열에서 전부 사용가능합니다.
특징으로는 다음과 같습니다.
- 고성능 : 비동기 이벤트 기발 아키텍처 덕분에 높은 동시성 처리 가능
- 리버스 프록시 및 로드 밸런싱 : 뛰어난 리버스 프록시 및 로드 밸런싱 기능 제공
- 경량 및 효율성 : 리소스 사용이 적고, 고부하 상황에서도 안정적 성능 유지
Nginx는 정적 콘텐츠를 제공하고 리버스 프록시, API 서버, 로드 밸런싱에서 강점을 보이지만 동적 콘텐츠를 지원하지 않아 다른 WAS의 도움을 받아야 합니다.
4. Microsoft IIS (Internet Information Services)
Microsoft IIS는 위의 웹서버들과는 달리 Windows 전용입니다.
특징으로는 다음과 같습니다.
- Windows 통합 : 깊은 통합으로 인해 Active Directory, .NET, PowerShell 등의 기능을 쉽게 활용
- 직관적 GUI : 사용자 친화적 그래픽 사용자 인터페이스 제공하여 관리가 용이
- 보안 기능 : 다양한 보안 기능과 설정 옵션 제공
Windows 환경에서 호스팅이 가능하며 ASP.NET의 호스팅을 지원합니다.