programing

IIS URL 다시 쓰기 vs URL 라우팅

megabox 2023. 9. 1. 20:42
반응형

IIS URL 다시 쓰기 vs URL 라우팅

웹 양식 응용프로그램에 URL 라우팅을 사용할 계획이었습니다.하지만 몇 의 게시물을 읽어보니 쉬운 방법인지 잘 모르겠습니다.

웹 양식에 URL Rewrite 모듈을 사용하는 것이 더 낫습니까?그러나 IIS7에만 해당됩니다.처음에는 URL 라우팅이 Asp와 완전히 분리된다는 소문이 있었습니다.넷 MVC와 그것은 웹 양식에 사용될 수 있습니다.

어떤 제안이든 듣고 싶습니다.

이 주제에 대해 찾은 최고의 기사는 다음과 같습니다.IIS URL 다시 쓰기 및 ASP.루슬란 야쿠셰프의 NET 라우팅.

IIS URL 다시 쓰기

클라이언트가 웹 서버에 특정 URL을 요청하면 URL 재작성 구성 요소는 요청된 URL을 분석하여 동일한 서버의 다른 URL로 변경합니다.URL 다시 쓰기 구성 요소는 요청 처리 파이프라인 초기에 실행되므로 웹 서버가 요청 처리에 사용할 핸들러를 결정하기 전에 요청된 URL을 수정할 수 있습니다.

IIS URL Rewriting

ASP.NET 라우팅

ASP.NET 라우팅은 캐시 해결 단계(PostResolveRequestCache 이벤트)와 맵 핸들러 단계(PostMapRequestHandler)에서 IIS 요청 처리 파이프라인에 연결되는 관리 코드 모듈로 구현됩니다.ASP.NET 라우팅은 웹 응용프로그램에 대한 모든 요청에 대해 실행되도록 구성됩니다.

IIS URL Routing

URL 다시 쓰기와 ASP 간의 차이점NET 라우팅:

  1. URL 다시 쓰기는 웹 서버에서 요청을 처리하기 전에 URL 경로를 조작하는 데 사용됩니다.URL 다시 쓰기 모듈은 어떤 처리기가 최종적으로 다시 쓴 URL을 처리할 것인지에 대해 아무것도 알지 못합니다. 또한 실제 요청 처리기는 URL이 다시 작성되었음을 모를 수 있습니다.
  2. ASP.NET 라우팅은 요청된 URL 경로를 기반으로 처리기에 요청을 발송하는 데 사용됩니다.URL 다시 쓰기와 달리 라우팅 구성 요소는 처리기에 대해 알고 요청된 URL에 대한 응답을 생성해야 하는 처리기를 선택합니다. ASP를 생각할 수 있습니다.고급 핸들러 매핑 메커니즘으로서의 NET 라우팅.

이러한 개념적 차이 외에도 IIS URL 다시 쓰기와 ASP 사이에는 몇 가지 기능적 차이가 있습니다.NET 라우팅:

  1. IIS URL-다시 쓰기 모듈은 ASP를 포함한 모든 유형의 웹 응용 프로그램에서 사용할 수 있습니다.NET, PHP, ASP 및 정적 파일.ASP.NET 라우팅은 와만 사용할 수 있습니다.NET Framework 기반 웹 애플리케이션.
  2. IIS URL-다시 쓰기 모듈은 응용 프로그램 풀에 통합 또는 기존 IIS 파이프라인 모드가 사용되는지 여부에 관계없이 동일한 방식으로 작동합니다.ASP용.NET 라우팅. 통합 파이프라인 모드를 사용하는 것이 좋습니다.ASP.NET 라우팅은 클래식 모드에서 작동할 수 있지만 이 경우 응용 프로그램 URL에 파일 확장명이 포함되어 있거나 IIS에서 "*" 핸들러 매핑을 사용하도록 응용 프로그램을 구성해야 합니다.
  3. URL 다시 쓰기 모듈은 도메인 이름, HTTP 헤더 및 서버 변수를 기준으로 다시 쓰기 결정을 내릴 수 있습니다.기본적으로 ASP입니다.NET 라우팅은 URL 경로 및 HTTP-Method 헤더에서만 작동합니다.
  4. URL 다시 쓰기 모듈은 HTTP 리디렉션을 수행하고, 사용자 지정 상태 코드를 발급하고, 요청을 중단할 수 있습니다.ASP.NET 라우팅은 이러한 태스크를 수행하지 않습니다.
  5. 현재 버전에서는 URL 다시 쓰기 모듈을 확장할 수 없습니다.ASP.NET 라우팅은 완전히 확장 가능하며 사용자 지정이 가능합니다.

여기 IIS 팀의 구성원과 두 사람의 차이점에 대한 좋은 게시물이 있습니다.

한 가지 주의할 점은 웹 양식의 경우 라우팅을 사용할 때 주의해야 한다는 것입니다.이러한 문제를 해결하고 질문에 대답하는 데 도움이 될 수 있는 웹 양식 라우팅을 사용하는 방법에 대한 샘플 구현을 작성했습니다.

포맷된 URL을 페이지를 생성하는 공장으로 지정하시겠습니까?

아니면 .aspx를 제거하시겠습니까?

다시 쓰기는 .aspx를 제거하거나 URL을 정리하기 위한 것입니다.

라우팅은 요청을 확인하고 요청을 처리할 개체를 결정하기 위한 것입니다.그들은 비슷하게 들립니다, 필하크는 그 주제에 대한 몇 가지 좋은 기사를 가지고 있습니다.

iis6에서 isapiRewrite는 매우 좋습니다.

저는 최근에 제 사이트의 URL을 더 잘 보이게 하기 위해 저만의 개서 시스템을 만들었습니다.기본적으로, 당신은 들어오는 요청을 가로채기 위해 당신 자신의 IHTTP 모듈을 작성하고 그것을 당신의 web.config에 추가해야 합니다.그런 다음 HttpContext를 사용할 수 있습니다.현재의.가리키는 내용을 변경하려면 경로를 다시 작성합니다.

또한 모든 작업에 aspnet_isapi를 사용하도록 사이트를 구성할 수도 있습니다.

페이지 메소드와 같이 "꼬리"를 사용하는 페이지로 작업하거나 페이지 요소 및 양식 포스트백 경로 지정과 같은 많은 작은 문제를 발견할 수 있지만 해결할 수 있습니다.

만약 관심이 있다면, 제가 코드에 대한 링크를 올릴 수 있고 당신은 그것을 확인할 수 있습니다.저는 이미 많은 문제들을 해결했기 때문에 여러분이 진행하면서 읽을 수 있습니다.저는 이것을 잘 해낸 다른 많은 사람들이 또한 좋은 자원이 될 것이라고 확신합니다.

당신은 이 질문에 대한 의 대답인 ASP를 확인해 보는 것이 좋을 것입니다.NET - 자체 라우팅 시스템 구축.URL 재작성 방법이나 ASP에서 제공된 새로운 라우팅 엔진을 사용하여 자체 라우팅 시스템을 구축하는 데 도움이 되는 몇 가지 좋은 참고 자료를 포함합니다.NET MVC 프로젝트.

에서 사용할 수 있는 동적 데이터 프로젝트입니다.Net 3.5 SP1은 URL 라우팅 구현의 좋은 예를 보여줍니다.

IIS의 URL 다시 쓰기의 경우 IIRF는 IIS5, 6, 7. 무료로 작동합니다.천천히, 빨리.오픈 소스.정규식 지원.

언급URL : https://stackoverflow.com/questions/90112/iis-url-rewriting-vs-url-routing

반응형