developer tip

Request.RawUrl 대 Request.Url

copycodes 2020. 11. 1. 18:15
반응형

Request.RawUrl 대 Request.Url


ASP.NET Request.RawUrl의 차이점은 무엇입니까 Request.Url?


MSDN에서 :

원시 URL은 도메인 정보 다음에 나오는 URL의 일부로 정의됩니다. URL 문자열 http://www.contoso.com/articles/recent.aspx에서 원시 URL은 /articles/recent.aspx입니다.

즉, rawurl서버가 어떤 주소를 통해 호출 되었는지 (예를 들어 http://yourserver/또는 http://yourserver.yourdomain.com/여러 인터페이스가있는 경우) 사용할 수 있으며 신경 쓸 필요가 없습니다 .

그러나 개체 URL속성은 서버 이름도 포함 하는 HTTPRequest개체를 반환합니다 System.URI.


예를 들어 URL 재 작성을 사용하여 IIS 또는 파일 시스템 주변에 어떤 조작이 발생하기 전에 IIS에서 실제로 수신 한 원시 URL을 표시한다고 언급 한 사람은 없습니다.

/errorMVC 앱 에서 오류 페이지 를 설정했고 해당 위치에서 오류 페이지를 사용자 지정 오류 페이지로 대체하도록 webconfig를 설정 했다고 가정 해 보겠습니다 . 이 방법으로에서 오류가 발생 /faultypage하면 사용자는 페이지를 가져 /error오지만 브라우저의 주소 표시 줄에있는 URL은 여전히 www.mysite.com/faultypage전송 또는 재 작성 이라고 표시됩니다 .

이제 오류 컨트롤러는 엿봄을하는 경우 Request.Url, 그것은 같은 것 www.mysite.com/error하고 Request.RawUrl(더 유용?) 말을 /faultypage사용자의 실제하지 요청, 현재 실행되고있는 페이지이다.


Request.RawUrl매우 유사하다 Request.Url.PathAndQuery 를 제외시켰다Request.Url.PathAndQuery포함 기본 문서 반면 하나가 사용 된 경우 Request.RawUrl하지 않습니다. 내 경험에 따르면 이것은 ASP.Net 4.0 이상에 해당 됩니다.


Request.RawUrl은 현재 URL에 대한 도메인 정보 다음의 모든 문자열을 반환합니다.

예 : Request.RawUrl 대 Request.Url

Request.RawUrl은 / questions / 2019735 / request-rawurl-vs-request-url이됩니다.

Request.Url은 Uri 개체, http://msdn.microsoft.com/en-us/library/system.uri_members.aspx를 반환합니다 .


HttpRequest.RawUrl 속성 문서 속성 값을 설명합니다 :

원시 URL은 도메인 정보 다음에 나오는 URL의 일부로 정의됩니다. URL 문자열 http://www.contoso.com/articles/recent.aspx에서 원시 URL은 /articles/recent.aspx입니다. 원시 URL에는 쿼리 문자열이 포함됩니다 (있는 경우).

HttpRequest.Url 속성 문서 속성 값을 설명합니다 :

현재 요청의 URL이 포함 Uri 개체입니다.

속성에 대해서는 Uri 클래스 설명서참조하십시오 .

참고 URL : https://stackoverflow.com/questions/2019735/request-rawurl-vs-request-url

반응형