source

부탁한다.RawUr.부탁한다.URL

nicesource 2023. 6. 18. 16:06
반응형

부탁한다.RawUr.부탁한다.URL

사이의 차이점은 무엇입니까?Request.RawUrl그리고.Request.UrlASP.NET에서?

IIS 또는 파일 시스템에 URL 다시 쓰기 등을 사용하여 전송하는 조작이 발생하기 전에는 아무도 IIS에서 실제로 수신한 원시 URL을 표시한다고 언급하지 않은 것 같습니다.

다음 위치에 오류 페이지를 설정했다고 가정합니다./errorMVC 앱에서 오류 페이지를 해당 위치의 사용자 정의 오류 페이지로 바꾸도록 웹 구성을 설정합니다.이러한 방식으로 오류가 발생할 때/faultypage사용자는 다음 위치에서 페이지를 받을 것입니다./error하지만 브라우저의 주소 표시줄에 있는 URL은 여전히www.mysite.com/faultypage—전송 또는 다시 쓰기입니다.

이제 오류 컨트롤러에서 확인할 수 있습니다.Request.Url그것은 비슷한 것이 될 것입니다.www.mysite.com/error그리고.Request.RawUrl라고 말할 것입니다. (더 유용합니까?) /faultypage현재 실행 중인 페이지가 아닌 사용자의 실제 요청입니다.

MSDN에서:

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

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

하지만, 그URL재산HTTPRequestobject가 반환합니다.System.URI서버 이름도 포함하는 개체입니다.

Request.RawUrl와 매우 유사합니다.Request.Url.PathAndQuery 그것을 제외하고는Request.Url.PathAndQuery기본 문서가 사용된 경우 기본 문서를 포함됩니다.Request.RawUrl하지 않다.제 경험에 따르면, 이것은 ASP.Net 4.0 이상에 해당합니다.

HttpRequest.RawUrl 속성 설명서에서는 속성 값을 다음과 같이 설명합니다.

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

HttpRequest.Url 속성 설명서에서는 속성 값을 다음과 같이 설명합니다.

현재 요청의 URL을 포함하는 URI 개체입니다.

속성은 URI 클래스 설명서를 참조하십시오.

부탁한다.RawUrl은 문자열을 반환합니다. 이 문자열은 현재 URL에 대한 도메인 정보 다음입니다.

예, for: 요청.RawUr. 요청합니다.URL

부탁한다.RawUrl은 /questions/2019735/request-rawurl-vs-request-url입니다.

부탁한다.Url이 URI 개체 http://msdn.microsoft.com/en-us/library/system.uri_members.aspx 을 반환합니다.

언급URL : https://stackoverflow.com/questions/2019735/request-rawurl-vs-request-url

반응형