부탁한다.RawUr.부탁한다.URL
사이의 차이점은 무엇입니까?Request.RawUrl
그리고.Request.Url
ASP.NET에서?
IIS 또는 파일 시스템에 URL 다시 쓰기 등을 사용하여 전송하는 조작이 발생하기 전에는 아무도 IIS에서 실제로 수신한 원시 URL을 표시한다고 언급하지 않은 것 같습니다.
다음 위치에 오류 페이지를 설정했다고 가정합니다./error
MVC 앱에서 오류 페이지를 해당 위치의 사용자 정의 오류 페이지로 바꾸도록 웹 구성을 설정합니다.이러한 방식으로 오류가 발생할 때/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
재산HTTPRequest
object가 반환합니다.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에 대한 도메인 정보 다음입니다.
부탁한다.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
'source' 카테고리의 다른 글
어떻게 모든 깃 커밋을 하나로 뭉치나요? (0) | 2023.06.18 |
---|---|
C# 및 익명 객체 배열 (0) | 2023.06.18 |
스케줄링된 작업으로 실행할 때 PowerShell 스크립트가 파일에 액세스할 수 없음 (0) | 2023.06.18 |
Sys.WebForms.페이지 요청 관리자 파서 오류 예외:서버에서 받은 메시지를 구문 분석할 수 없습니다. (0) | 2023.06.18 |
판다 데이터 프레임에서 str.contains 사용 (0) | 2023.06.18 |