IIS 웹 서버 개요
작성자: IIS 팀, 마이크 볼로다르스키
호환성
버전 | 주의 |
---|---|
IIS 7.0 이상 | 이 문서에 설명된 기능은 IIS 7.0에서 도입되었습니다. |
IIS 6.0 이하 | 이 문서에 설명된 기능은 IIS 7.0 이전에는 지원되지 않았습니다. |
IIS 7 이상 웹 서버에는 세 가지 주요 이점을 제공하는 완전히 모듈식 아키텍처가 있습니다.
- 구성 요소화
- 확장성
- ASP.NET 통합
구성 요소화
이제 모든 웹 서버 기능이 독립 실행형 구성 요소로 관리되므로 쉽게 추가, 제거 및 바꿀 수 있습니다. 이렇게 하면 이전 버전의 IIS에 비해 몇 가지 주요 이점이 있습니다.
- 공격 노출 영역을 줄여 서버를 보호합니다. 노출 영역을 줄이는 것은 서버 시스템을 보호하는 가장 강력한 방법 중 하나입니다. IIS를 사용하면 사용되지 않는 모든 서버 기능을 제거하여 애플리케이션의 기능을 유지하면서 가능한 최소 노출 영역을 달성할 수 있습니다.
- 성능을 향상시키고 메모리 공간을 줄입니다. 사용하지 않는 서버 기능을 제거하면 서버에서 사용하는 메모리 양을 줄이고 애플리케이션에 대한 모든 요청에서 실행되는 기능 코드의 양을 줄여 성능을 향상시킬 수도 있습니다.
- 사용자 지정/특수 서버를 빌드합니다. 특정 서버 기능 집합을 선택하면 에지 캐싱 또는 부하 분산과 같은 애플리케이션 토폴로지 내에서 특정 기능을 수행하는 데 최적화된 사용자 지정 서버를 빌드할 수 있습니다. 사용자 지정 기능을 추가하여 새 확장성 API를 기반으로 하는 사용자 고유 또는 타사 서버 구성 요소를 사용하여 기존 기능을 확장하거나 바꿀 수 있습니다. 구성 요소화된 아키텍처는 IIS 커뮤니티에 장기적인 이점을 제공합니다. Microsoft 내부 및 타사 개발자 사이에서 필요에 따라 새 서버 기능을 쉽게 개발할 수 있습니다.
또한 IIS는 애플리케이션 풀을 사용하여 IIS 6.0에 도입된 강력한 HTTP 프로세스 활성화 모델을 구성했습니다. HTTP 프로세스 활성화 모델은 모든 프로토콜을 통해 요청 또는 메시지를 수신하는 웹 애플리케이션에만 사용할 수 있습니다. 이 프로토콜 독립적 서비스를 WAS(Windows Process Activation Service)라고 합니다. WCF(Windows Communication Foundation)에는 WAS의 기능을 활용하여 WCF 서비스의 안정성 및 리소스 사용을 개선할 수 있는 프로토콜 어댑터가 함께 제공됩니다.
확장성
개발자는 IIS의 모듈식 아키텍처를 활용하여 기존 웹 서버 기능을 확장 또는 대체하고 IIS에서 호스트되는 웹 애플리케이션에 가치를 추가하는 강력한 서버 구성 요소를 빌드할 수 있습니다.
IIS용으로 개발해야 하는 이유는 다음과 같습니다.
- 웹 애플리케이션의 권한을 부여합니다. IIS를 확장하면 웹 애플리케이션이 애플리케이션 계층에서 쉽게 제공할 수 없는 기능을 활용할 수 있습니다. 개발자는 IIS ASP.NET 또는 네이티브 C++ 확장성을 사용하여 사용자 지정 인증 체계, 모니터링 및 로깅, 보안 필터링, 부하 분산, 콘텐츠 리디렉션 및 상태 관리와 같은 모든 애플리케이션 구성 요소에 대한 가치를 추가하는 솔루션을 빌드할 수 있습니다.
- 더 나은 개발 환경. 새로운 C++ 확장성 모델은 이전에 ISAPI 개발을 괴롭혔던 대부분의 문제를 완화하여 강력한 서버 코드 작성을 촉진하는 간소화된 개체 지향 API를 도입했습니다. 또한 Visual Studio 통합이 향상되면 IIS용 개발 환경이 더욱 향상됩니다.
- ASP.NET 최대한 활용하십시오. ASP.NET 통합을 사용하면 ASP.NET 2.0 및 풍부한 ASP.NET 애플리케이션 서비스의 친숙한 인터페이스를 사용하여 서버 모듈을 빠르게 개발할 수 있습니다. ASP.NET 모듈은 ASP, CGI, 정적 파일 및 기타 콘텐츠 형식에 서비스를 균일하게 제공할 수 있으며 이전 버전의 IIS에 있는 제한 없이 서버를 완전히 확장할 수 있습니다.
ASP.NET 통합
IIS를 사용하면 웹 애플리케이션이 ASP.NET 2.0의 강력한 기능과 확장성을 완전히 활용할 수 있습니다. 양식 기반 인증, 멤버 자격, 세션 상태 등을 비롯한 ASP.NET 기능을 모든 유형의 콘텐츠에 사용할 수 있으므로 전체 웹 애플리케이션에서 통합된 환경을 제공할 수 있습니다. 개발자는 친숙한 ASP.NET 확장성 모델 및 풍부한 .NET API를 사용하여 네이티브 C++ API를 사용하여 작성된 기능만큼 강력한 IIS 서버 기능을 빌드할 수 있습니다.
아래 링크를 사용하여 IIS 구성의 측면을 알아보고, IIS.NET 즉시 사용할 수 있는 리소스를 사용하여 키트를 시작하고 다운로드하는 방법에 대한 랩을 참조하세요.
학습 시작
- IIS 모듈 개요
- IIS와 ASP.NET 통합
- IIS 통합 파이프라인을 활용하는 방법
- 엔드 투 엔드 확장성 예제
- 사용자 지정된 서버 빌드
- .NET을 사용하여 모듈 개발
- 네이티브(C\C++) 모듈 개발
시작
- Windows Server 2008 R2 Evaluation Editions 및 Virtual Labs(
https://www.microsoft.com/server-cloud/windows-server/2008-r2-trial.aspx
)
다운로드