2007~2011/IIS2010. 10. 14. 16:15

이번 포스팅을 통해 URL Rewrite 의 간략한 소개와 기능 그리고 설치 방법에 대해서 알아보도록 하겠습니다. 간단히 개념을 파악한 후 다음 포스팅에서 직접 구현을 해 보도록 하겠습니다. 


URL Rewrite 2.0 모듈 소개
URL Rewrite는 사용자가 기억하기 더 쉽고, 검색 엔진에 의해 검색될 수 있도록 하는 URL을 만들어 주는 IIS의 확장 기능(Extension) 입니다. URL Rewrite 모듈을 이용하여 아래의 내용을 포함하는 URL 작업을 수행 할 수 있습니다.

* 복잡 URL을 간단하고 일관된 웹 주소로 변환하는 강력한 규칙 정의
* 사용자 및 검색 엔진에 친화적인 결과들을 보이기 위한 쉬운 웹 어플리케이션 URL 교체
* HTTP 헤더 및 IIS 서버 변수를 기반으로 한 URL Rewrite
* Rewrite 규칙에서 정한 로직을 기반으로 리디렉션 수행, 사용자 응답 전송, HTTP 요청 중지 처리 가능
* URL 세그먼트나 요청 메타데이터를 기반으로 웹 사이트 콘텐츠에 대한 액세스 제어

여러 가지 기능이 있지만 복잡하고 기억하기 어려운 인터넷 URL(Dirty Link) 을 보다 짧고, 기억하기 쉬운 URL로 바꾸어 표현하는 것(Fancy URL) 이 URL Rewrite 가 지원하는 가장 대표적인 기능입니다. 



URL Rewrite 2.0의 기능


  • 규칙 기반(Rules-based) URL rewriting 엔진
    다양한 Logic의 URL Rewriting 규칙을 기반으로 rewrite 처리를 할 수 있습니다.

       

  • 정규 표현식
    Rewrite
    규칙은 ECMA-262 있는 정의된 패턴과 일치하는 정규 표현식 구문을 사용할 있습니다.

       

  • 와일드카드 패턴 일치
    Rewrite 규칙은 패턴과 일치하는 와일드카드 구문을 사용할 수 있습니다.

       

  • 글로벌 및 분산된 Rewrite 규칙
    URL Rewrite 는 서버 전체에 URL rewrite logic 을 정의하기 위해 글로벌 규칙을 사용합니다. 이러한 규칙은 ApplicationHost.config의 파일에서 정의하고 구성 계층 구조의 하위 수준에서 구성된 규칙을 대체합니다. 모듈 또한 특정 구성 범위에 명확한 URL Rewrite Logic 을 정의하기 위해 분산된 규칙을 사용합니다. Web.config 파일을 사용하여 이 규칙 유형을 정의할 수 있습니다.

       

  • 서버 변수 및 HTTP 헤더
    서버 변수 및 HTTP 헤더는 현재 HTTP 요청에 대한 추가 정보를 제공합니다. 이러한 정보는 Rewrite 규칙을 구성하거나 출력 URL을 작성하기 위해 사용됩니다.

       

  • 다양한 규칙 동작
    URL Rewriting 기능 외에도 HTTP 리디렉션, 요청 중지 또는 커스텀 상태 코드를 Http 클라이언트에게 보내는 것과 같은 처리도 수행할 수 있습니다.

       

  • IIS 커널 모드 및 유저 모드 출력 캐싱 지원
    IIS 7 출력 캐싱은 웹 응용 프로그램에 대한 상당한 성능 향상을 제공합니다. URL Rewrite 모듈은 출력 캐싱과 완전하게 호환이 됩니다. 즉, Rewrite 된 URL 에 대해 안정된 캐시 응답이 가능합니다.

       

  • 문자열 처리 함수 제공
    URL 인코딩 및 디코딩을 포함하여 다양한 문자열 처리 함수가 기본 제공됩니다.

       

  • Rewrite map

    URL Rewrite 규칙을 적용하기 어렵거나 단순 규칙을 줄이기 위해 Rewrite map 을 사용하여 1:1 매핑 처리를 사용할 수 있습니다.

       

  • 실패한 요청 추적 지원
    IIS 7 실패한 요청 추적은 URL Rewriting 과 관련된 오류를 트러블슈팅 할 수 있습니다.

       

  • 규칙 템플릿
    규칙 템플릿은 특정 작업을 위한 Rewrite 규칙의 생성을 단순화하는 URL Rewrite 모듈 사용자 인터페이스의 확장입니다. 모듈은 3가지 규칙 템플릿과 여러 개의 사용자 지정 템플릿을 지원합니다.

       

  • 정규 표현식 및 와일드 카드 패턴 테스트를 위한 사용자 인터페이스

    규칙 패턴 테스트를 위한 사용자 인터페이스는 모듈과 함께 제공됩니다. 해당 UI 를 사용 하면 Rewrite 규칙에서 정규식과 와일드카드 패턴의 결과를 빠르게 체크할 수 있습니다. 또한 트러블슈팅과 디버깅을 위해 UI 를 사용 할 수 있습니다.

       

  • Rewrite 규칙 및 Rewrite Map 을 위한 사용자 인터페이스

    IIS 관리자에 URL Rewrite 모듈을 사용함으로써 Rewrite 규칙 및 Rewrite Map 을 추가, 삭제, 편집할 수 있습니다.

       

  • mode_rewrite 규칙 가져오기 사용자 인터페이스

    아파치 웹 서버에서 사용되는 mod_rewrite 규칙을 URL Rewrite 모듈로 가져오는 인터페이스를 제공합니다.

   


URL Rewrite(2.0) 설치
웹 플랫폼 설치 관리자(Web Platform Installer)-WPI 2.0을 이용해 다운로드 할 수 있습니다. 웹 플랫폼 설치 관리자를 사용하면 마이크로소프트의 웹 플랫폼의 최신 컴포넌트를 쉽게 다운로드 받을 수 있는 이점이 있습니다. 


[다운로드]
Microsoft Web Platform Installer 2.0
http://www.microsoft.com/web/downloads/platform.aspx


다운로드 받은 웹 플랫폼 설치 관리자를 실행한 후 다음과 같이 설치를 진행합니다. 


1. 새로운 기능 - URL 재작성 2.0 (영어) - 설치


2. 동의함

   

3. 설치 진행



4. 완료 - IIS 관리자 서버 구성 요소 범주에 URL Rewrite 모듈이 추가 되었습니다.

URL Rewrite 의 소개와 설치에 대해서 간략히 알아 보았으며 다음 포스팅을 통해 실제 URL Rewrite 의 규칙을 만들어 보고 동작을 확인하는 방법에 대해서 살펴 보도록 하겠습니다.


작성자 : Lai Go / 작성일자 : 2010.10.14

Posted by Lai Go