codememo

호스트 대 Dnsafe 호스트

tipmemo 2023. 5. 13. 10:15
반응형

호스트 대 Dnsafe 호스트

Request 개체에서 호스트를 제거해야 합니다.어떤 속성을 사용해야 하며 그 이유는 무엇입니까?

MSDN에서:

Uri.Dnsafe호스트 속성

DNS 확인에 적합한 URI의 이스케이프되지 않은 호스트 부분을 포함하는 문자열 또는 원래 이스케이프되지 않은 호스트 문자열(이미 확인에 적합한 경우).

URI.Host 속성

호스트 이름을 포함하는 문자열입니다.일반적으로 서버의 DNS 호스트 이름 또는 IP 주소입니다.

제 테스트는 ASP를 통해 진행되었습니다.NET 개발 서버.이 두 가지 모두 항상 반환됩니다.localhost127.0.0.1을 넣었을 때도 두 개가 모두 돌아옵니다.localhost.

계속해서 읽어보면,DnsSafeHost속성은 IPv6 주소를 처리하고 필요한 경우 유니코드를 ASCII로 변환합니다.IRI와 IDN도 설명할 수 있고, 제가 지금은 이런 것들에 신경을 안 쓰지만 그냥.DnsSafeHost안전할 재산?

결과 호스트 이름을 직접 DNS 서버로 보내려는 경우 DnsSafeHost를 URL에 적용합니다.DNS는 원래 ASCII 전용 프로토콜(및 ASCII의 하위 집합)이었습니다.현재 URL에서 DNS 서버로 직접 전송할 수 없는 URL의 호스트 부분에 있는 문자 시퀀스를 허용합니다.예는 다음과 같습니다.

  • 괄호로 묶은 IPv6 주소.DnsSafeHost가 브래킷을 삭제합니다.

  • ASCII가 아닌 도메인 이름, 영어가 아닌 도메인 이름.DnsSafeHost(선택 사항)는 RFC 3987 IRI를 사용하여 문자를 정규화하고 비 ASC로 변환합니다.II 문자에서 IDN, Punycode 인코딩.

  • 앞으로 어떤 URL이 허용될지 누가 알겠습니까?이 애플리케이션은 URL에서 무엇이 정상인지에 대한 우리의 가정보다 오래 지속될 수 있습니다. DnsSafeHost는 여기에 어느 정도의 복원력을 추가합니다.

사용자에게 호스트 이름을 표시해야 하는 경우 대신 호스트 속성을 사용합니다.

언급URL : https://stackoverflow.com/questions/1224587/host-vs-dnssafehost

반응형