사례 보존
URL은 클라이언트와 서버 사이에서 대소 문자를 보존 합니다. 그러나 몇 가지 이유로 URL의 일부는 서버에 따라 대소 문자를 구분 하거나 구분 하지 않을 수 있습니다 .
대소 문자 구분
사이트 및 / 또는 서버 구성에 따라 다음과 같이 굵게 표시된 URL 부분은 대소 문자 를 구분할 수 있습니다.
http : // www. example.com /abc/def.ghi?jkl=mno#pqr
사용자 @ example.com
이론적 해석
URL의 대소 문자 구분은 여러 가지 용도로 사용될 수 있습니다. 주로:
- 대소 문자 구분 파일 시스템과의 기본 호환성.
- 직렬화, 해싱, ID, 영구 링크 및 URL 단축기와 같이 URL 내에서보다 컴팩트 한 데이터 인코딩
개발자는 위의 내용을 더 나은 방법으로 처리 할 수 있다고 생각하지만 상황에 따라 허용되지 않는 경우도 있음을 이해합니다.
예를 들어, "GET"URL에 많은 양의 데이터가 필요하지만 모든 주요 서버, 브라우저 및 캐싱 / 프록시 메커니즘의 최대 URL 길이와 호환되어야하는 기존 제품을 상상해보십시오. 적당한 길이의 명령 문자열 (일부 구형 브라우저의 경우 1,024 자 미만)에도 맞추려면 가능한 모든 고유 한 URL 안전 문자 (기본적으로 base64url 인코딩)를 사용해야합니다.
이상적인 세상에서
URL 이 대소 문자를 구분 해야하는지 여부 는 논란의 여지가 있습니다. 나는 개인적으로 그것들이 단순해서는 안된다고 생각합니다 (더 긴 URL을 만들 수는 있지만 정확한 문자를 보존 해야하는 경우를 쉽게 처리 할 수있는 퍼센트 이스케이프가 있으며 URL에서 오른쪽 이외의 데이터를 전송하는 방법이 있습니다) .
많은 사람들이 유용성을 높이기 위해 대소 문자를 구분하지 않는 URL이 널리 사용되는 많은 사이트와 서비스에 명시 적으로 활성화되어 있다는 사실에 동의하는 것 같습니다. 가장 두드러진 예는 이메일 주소의 사용자 이름 부분입니다. 대부분의 이메일 제공 업체는 대소 문자를 무시하고 때로는 점 및 기타 기호 (예 : "J.smith@example.com"은 "JSMITH@example.com"과 동일)를 무시합니다. 사양에 따르면 이메일 사용자 이름은 기본적으로 대소 문자를 구분하지만
그러나 사실은 나와 다른 사람들이 원하는 것에도 불구하고 현재 상황이 작동하는 상태입니다. 또한 대소 문자를 구분하지 않는 URL 표준으로 전 세계적으로 전환하는 것이 가능하지만 현재 웹에서 대소 문자 구분이 다양한 목적으로 광범위하게 사용되므로 시간이 오래 걸릴 것입니다.
모범 사례
모범 사례가 진행되는 한, 사용자는 대부분의 상황에서 소문자를 사용하여 문제가 해결 될 것으로 기대할 수 있습니다. 주요 예외는 대소 문자를 구분하는 인코딩을 사용하는 URL 또는 직접 파일 시스템과 동등한 문서 경로입니다. 그러나 이러한 복잡한 URL은 일반적으로 수동 입력 대신 복사하여 붙여 넣기 (또는 단순히 클릭)합니다.
웹 개발자는 URL을 가능한 한 대소 문자를 구분하지 않는 것이 좋습니다. 위에서 언급했듯이 상황에 따라 피하기 어려운 상황이 분명히 있지만.