Làm cách nào để URL shortener's như bit.ly tính toán một khóa ngẫu nhiên cho mỗi liên kết? Tôi cần biết thuật toán nào để tạo thuật toán của riêng mình?Trình rút gọn URL tính toán khóa URL như thế nào? Họ làm việc như thế nào?
Trả lời
Cho đến nay tôi tìm thấy mã từ http://briancray.com/2009/08/26/free-php-url-shortener-script/
function getShortenedURLFromID ($integer, $base = ALLOWED_CHARS)
{
$length = strlen($base);
while($integer > $length - 1)
{
$out = $base[fmod($integer, $length)] . $out;
$integer = floor($integer/$length);
}
return $base[$integer] . $out;
}
và câu trả lời phức tạp hơn bởi Marcel J. được đề cập ở trên.
Có thể chúng lưu trữ nó trong cơ sở dữ liệu và chỉ cung cấp cho bạn một id liên kết. Khi bạn truy vấn khóa này, họ tìm trong cơ sở dữ liệu của họ và chuyển tiếp bạn đến liên kết thực được lưu trữ. Để mã hóa id, chẳng hạn như base64 (hoặc tương tự) có thể được sử dụng.
Tôi nghĩ rằng họ KHÔNG ngẫu nhiên một khoá mới và kiểm tra nếu tồn tại trong cơ sở dữ liệu, bởi vì nó của nó chậm hơn so với chỉ sử dụng một số sequencial và áp dụng một số
criptography
thuật toán để chuyển đổi id sequencial thành một chuỗi UNIQUE.
Ex:
idUrl = 1003;
urlCode = doSomething(idUrl); // 161Llz
URL để sử dụng: http://bit.ly/161Llz
Tks: mykhal và nick johnson
Họ có khả năng lưu trữ nó trong cơ sở dữ liệu và chỉ tạo khóa ngẫu nhiên. Tôi giả định điều này bởi vì bạn có thể tạo ra chìa khóa của riêng bạn, và nếu họ chỉ giải mã nó, bạn sẽ không thể tự mình chọn nó.
Để biết cách thực hiện, bạn chỉ có thể tạo cơ sở dữ liệu trong mySQL và giữ nó ở vị trí chính và đầy đủ. Chỉ cần tìm kiếm nó cho khóa và sau đó chuyển hướng người dùng đến trang web đầy đủ.
Cảm ơn, nhưng tôi biết cách lưu trữ khóa - câu hỏi của tôi là làm cách nào để "tính toán một khóa ngẫu nhiên cho mỗi liên kết?" – Xeoncross
Có rất nhiều cách. Họ chỉ có thể làm một cái gì đó đơn giản như đưa ra một vài con số ngẫu nhiên, và sau đó chỉ định một chữ cái cho mỗi số và gắn chúng lại với nhau. Thực tế là họ sử dụng cơ sở dữ liệu để lưu trữ và tìm kiếm chúng có nghĩa là họ có thể sử dụng bất kỳ phương pháp nào họ muốn và thuật toán của họ không phải tính đến URL thực tế – Parker
- 1. Trình rút gọn URL hoạt động như thế nào?
- 2. Thuật toán rút ngắn URL
- 3. Tính năng ghi đè url hoạt động như thế nào?
- 4. Trình rút gọn URL khi đang chạy trên trang web
- 5. Định tuyến Url để viết thường là như thế nào?
- 6. Tôi làm cách nào để sử dụng API rút gọn URL của Google trên Android?
- 7. Thân thiện với SEO là URL Unicode như thế nào?
- 8. URL ngăn xếp ngăn xếp hoạt động như thế nào?
- 9. như thế nào IIS URL Rewrite xử lý # neo thẻ
- 10. Zurb's Foundation 4 tính toán Typography như thế nào?
- 11. Thuật toán khớp URL của Facebook hoạt động như thế nào?
- 12. như thế nào CDN DNS làm việc
- 13. Google làm việc như thế nào?
- 14. <: <làm việc như thế nào?
- 15. Tính toán trung bình được rút gọn trong MySQL
- 16. Có thể tham số truyền URL rút gọn không?
- 17. Java - Bộ lọc Ghi đè URL Tuckee thay đổi url của yêu cầu như thế nào?
- 18. Câu lệnh JavaScript này tính toán ngày như thế nào?
- 19. Tính năng khóa phạm vi hoạt động như thế nào?
- 20. Làm cách nào để goo.gl rút ngắn url trong js?
- 21. Toán tử C++ sizeof tính kích thước như thế nào?
- 22. Họ đã tạo bố cục như thế nào - những yếu tố nào họ đã sử dụng?
- 23. Làm thế nào để tính toán URL bị xóa cho một torrent
- 24. Làm thế nào để xác định xem người dùng Facebook Không giống như một URL?
- 25. Làm thế nào để tăng tốc quá trình rút gọn của UglifyJS 2?
- 26. Phiên làm việc như thế nào trong asp.net?
- 27. Khóa session_start bằng PHP như thế nào?
- 28. Làm thế nào để xử lý chia sẻ facebook/như với url băm?
- 29. Toán tử thay thế Perl hoạt động như thế nào?
- 30. Tính toán phân tích kênh, bạn tính toán kênh như thế nào?
Câu hỏi hay !!! – Topera
Xem http://stackoverflow.com/questions/742013/how-to-code-a-url-shortener cho một số giải pháp có thể – ChrisF
Bạn chưa đọc kỹ thuật (http://en.wikipedia.org/wiki/URL_shortening #Techniques)? Có điều gì đó mà bạn không hiểu? Xem blog của Jeff quá: http://www.codinghorror.com/blog/2007/08/url-shortening-hashes-in-practice.html – dirkgently