2012-07-20 3 views
3

URL은 대소 문자를 구분해야 함을 알고 있습니다.UTF8 구성 요소 (대소 문자를 구분해야합니까?)

http://www.example.com/test.php 


http://www.example.com/TEST.php 

두 가지가 있어야합니다.

하지만 UTF-8도 대소 문자를 구분해야합니다. ?

http://zh.wikipedia.org/wiki/%e8%a7%82%e6%b5%8b%e5%a4%a9%e6%96%87%e5%ad%a6 

http://zh.wikipedia.org/wiki/%E8%A7%82%E6%B5%8B%E5%A4%A9%E6%96%87%E5%AD%A6 

그들이 동일해야 하는가?

내가 묻는 이유는 다음과 같습니다. Googlebot은 대소 문자를 사용하고 있지만 대소 문자를 사용하고 있습니다.

+0

FWIW을, 그래서 그들은 분명히 먼저 디코딩,이 위키 페이지는 당신에게 모든 해답을 제공해야합니다. – Thilo

답변

1

이 질문에 100 % 권한을 말할 수는 없지만 검색 색인이나 URL 표 또는 Google에서 사용하는 무수한 데이터 저장소에 URL이 저장되는 방법에 대해 생각해보기를 멈 추면, 나는 URL이 어떤 방식으로 정상화되지 않을 것이라고 상상할 수 없다.

어떤 종류의 정규화도 URL을 문자열로 디코딩해야하므로 차이가 없어야합니다. Google이 % 인코딩으로 URL을 저장하면 놀랄 것입니다. UTF-8로 텍스트를 저장할 수 있습니다. 백분율 기호는 인간이 볼 수있게 해줍니다.

Google 대문자 변형의 "사용"은 단순히 표시 및보고 목적으로 사용됩니다. 나는 URL encodings가 전혀 저장되지 않는다고 생각한다.

+0

나는 동의하지 않는다. Url은 특정 방식으로 인코딩되지 않으므로 UTF-8, latin-1 또는 기타 항목이 될 수 있습니다.이들을 디코딩하면 모두 '문자열'이 같을 수 있지만 동일한 URL은 아닙니다. URL은 바이트에 대한 특정 정의를 제공하지 않으므로 실제로 다릅니다. 그러나, OP에 의해 주어진 예제는 동일합니다 :) – Evert

0

16 진수 문자 쌍이므로 인코딩 된 문자의 소문자 및 대문자 변형은 동일해야합니다 (예 : 0xab 및 0xAB은 같은 값임).

0

Googlebot의 경우 어디에서 정보를 얻는 지 예측하기가 어렵습니다. 소문자로 링크 만하고 소문자로 XML 사이트 맵에 있다고해도 대문자로 사이트를 연결하는 사람이있을 수 있습니다.

Google에서 URL을 대소 문자를 구분하여 처리하는 것이 맞습니다. 그렇다면 그들이 rel=canonical specification을 지원하는 이유입니다. rel = canonical spec을 올바르게 사용하고 있다면 Googlebot이 모든 대문자로 URL에 액세스하고 있어도 걱정할 필요가 없습니다. 그들은 색인 생성을 위해 페이지를 처리 ​​할 때 모든 페이지 "값"을 표준 URL에 통합합니다.

더 자세히 알기를 원하면 모든 캡 케이스 요청을 소문자 버전으로 리디렉션 할 수 있습니다. 따라서 Googlebot은 301을 소문자 버전으로 따릅니다.

또한 301 및 rel = canonical이 있더라도 Googlebot이 모든 대문자로 된 URL을 계속 크롤링하는 것을 확인할 수 있습니다. 이러한 URL 404 또는 410이더라도이 작업이 수행됩니다. 기본적으로 Googlebot은 결코 URL을 잊어 버리지 않으며 때때로 한 번에 존재했던 이전 URL을 시도하거나 링크를 계속 가리키게됩니다. 오래되고 오래 전에 다시.

관련 문제