둘 중 하나에 "www"가있는 경우 두 개의 동일한 URL이 같은지 확인하는 방법은 무엇입니까?

user5125778

다음 URL은 동일합니다.

Uri 클래스의 Compare () 메서드와 같이 .Net Framework에서 제공하는 메서드를 사용하여 예상 한 결과를 얻을 수 있습니까? 아니면이 케이스를 수동으로 처리해야합니까?

WillHua

안타깝게도 저는 여러분이 숙고 할 수있는 간단한 코멘트를 남길 수있는 담당자가 충분하지 않으므로 생각을위한 음식으로 대답을 남겨 두겠습니다.

대부분의 시나리오를 커버해야하는 몇 가지 가능한 솔루션을 볼 수 있습니다 (아마도 몇 가지를 놓칠 것이지만 모두가 실수를합니다).

  1. 루프를 사용하여 두 URI를 모두 이동하고 각 부품 / 구성 요소를 조기 중단 조건에 맞게 비교하여 속도를 높입니다.
  2. 임의로 정의 된 규칙 (예 : 프로토콜 제거, www 접두사 제거, 종료 / 트림 제거)을 사용하여 가능한 한 많은 URI를 정리 한 다음 Equals ()를 사용하여 비교합니다.
  3. 대담한 느낌이 든다면 어휘 분석과 유사한 것을 사용하여 두 URI를 객체 / 토큰 / 부분으로 변환하고 후속 결과를 비교할 수 있습니다 (구현하기가 더 어렵지만 아마도 가장 정확할 것입니다).

댓글의 사람들이 옳다는 것을 명심하십시오. URL은 기술적으로 동일하지 않으며 궁극적 인 솔루션에서 구현하는 논리는 순전히 '동일한'정의를 중심으로 정의됩니다.

또한 "www"를 간단하게 대체하는 솔루션을 사용하지 않을 것입니다. 미친 사람 이 쉽게 'www'를 넣을 수 있기 때문 입니다. 두 URL 모두에서 대체를 수행하지 않는 한 URL의 다른 곳에서 해당 구현을 중단하십시오. 이는 하나가 더 많은 'www'를 가질 수 있기 때문에 매우 위험합니다. 다른 인스턴스보다 인스턴스이며 여전히 '동일한'것으로 간주됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관