주소 표시 줄에서 텍스트를 추출하여 올바른 URL에 매핑 한 다음 나중에 리디렉션하는 것과 같이 URL Shortener가 어떻게 작동하는지 궁금합니다. 그들은 어떤 프로그래밍 언어를 사용합니까? 매핑 기록을 어떻게 유지합니까? 단축 URL의 고유성을 어떻게 보장합니까? 일반인이 URL을 방문하지 않고 어떻게 매핑을 해제 할 수 있습니까?
주소 표시 줄에서 텍스트를 추출하여 올바른 URL에 매핑 한 다음 나중에 리디렉션하는 것과 같이 URL Shortener가 어떻게 작동하는지 궁금합니다. 그들은 어떤 프로그래밍 언어를 사용합니까? 매핑 기록을 어떻게 유지합니까? 단축 URL의 고유성을 어떻게 보장합니까? 일반인이 URL을 방문하지 않고 어떻게 매핑을 해제 할 수 있습니까?
답변:
기본적으로 이름이 짧은 웹 사이트는 bit.ly와 같은 자리 표시 자로 사용됩니다.
그런 다음 bit.ly는 사용자가 제공 할 키를 생성하며, 이는 반복되지 않도록 무작위로 생성됩니다. 35 개의 문자 옵션과 8 개 정도의 값으로 수학을 수행하십시오. 가능한 많은 키입니다. URL이 이전의 기존 키와 같으면 키를 재사용한다는 내용을 읽은 것을 기억합니다.
그들은 실제로 특정 프로그래밍 언어를 사용하지 않고 단순한 URL 리디렉션을 사용합니다. HTML로 수행 할 수 있습니다.
URL 단축기는 단축 코드를 생성하고 대상 URL을 단축 코드에 매핑 한 다음 새 URL을 제공하기 만하면됩니다. URL을 방문하면 단축 코드를 키로 사용하여 데이터베이스 조회를 수행하고 대상 URL로 리디렉션합니다. 단축 URL과 도착 URL 사이에는 알고리즘 연결이 없으므로 URL 단축기의 시스템을 거치지 않고 "매핑 해제"할 수 없습니다.
모든 프로그래밍 언어 및 데이터 저장소를 사용하여 수행 할 수 있습니다. 코드 생성은 고유성을 보장하기 위해 간단합니다. 증가하는 기본 정수 키가있는 경우 키를 base62로 인코딩하여 제공 할 수 있습니다. 코드는 본질적으로 점진적이므로 충돌이 발생하지 않습니다.
프로세스는 실제로 매우 간단합니다. URL을 요청하고 임의의 문자열을 생성하고 (그리고이 문자열이 이미 사용되지 않았는지 확인하는) 두 가지를 일종의 데이터베이스에 넣는 스크립트가 있습니다. URL을 요청하면 다른 스크립트가 데이터베이스에서 임의의 문자열을 찾고 발견되면 사이트로 리디렉션됩니다.
이것은 물론 남용 방지, URL 필터링, 스팸 방지, URL 확인 등과 같은 필요한 기능으로 인해 프로덕션에서 더 복잡합니다. 그러나 구현하기는 매우 간단합니다.
언어는 무관하며 대부분은 누구나 할 수 있습니다.
<key, url>