Saya ingin tahu bagaimana URL Shortener bekerja, seperti bagaimana mereka mengekstrak teks dari bilah alamat dan memetakannya ke URL yang benar, kemudian mengarahkannya kembali. Bahasa pemrograman apa yang mereka gunakan? Bagaimana mereka mempertahankan sejarah pemetaan? Bagaimana cara memastikan keunikan url yang dipersingkat? Bagaimana orang awam dapat membuka peta tanpa mengunjungi URL?
url
url-shortener
tinyurl
prap19
sumber
sumber
Jawaban:
Wiki Adalah Teman Anda
Pada dasarnya, situs web dengan nama yang lebih pendek digunakan sebagai placeholder, seperti bit.ly.
Kemudian, bit.ly membuat kunci untuk disediakan oleh pengguna, yang dibuat secara acak agar tidak berulang. Dengan 35 opsi karakter dan 8 atau lebih nilai, lakukan penghitungan. Itu banyak sekali kemungkinan kunci. Jika url sama dengan kunci yang ada sebelumnya, saya ingat pernah membaca di suatu tempat bahwa mereka juga menggunakan kembali kunci.
Mereka tidak benar-benar menggunakan bahasa pemrograman tertentu, mereka hanya menggunakan pengalihan URL sederhana, yang dapat dilakukan dengan HTML saya percaya.
sumber
Penyingkat URL hanya menghasilkan kode pendek, memetakan URL target ke kode pendek, dan memberikan URL baru. Mengunjungi URL melakukan pencarian database dengan kode pendek sebagai kunci, dan mengarahkan Anda ke URL target. Tidak ada asosiasi algoritmik antara URL yang dipersingkat dan URL tujuan, jadi Anda tidak dapat "membatalkan pemetaan" tanpa melalui sistem penyingkat URL.
Anda dapat melakukannya dengan bahasa pemrograman dan penyimpanan data apa pun. Pembuatan kode itu sepele untuk memastikan keunikan juga; jika Anda memiliki kunci integer primer yang bertambah, Anda cukup mengenkode kunci sebagai base62 dan menyajikannya. Karena kode bersifat inkremental, Anda tidak akan pernah mengalami konflik.
sumber
Prosesnya sebenarnya cukup sederhana: Ada skrip yang menanyakan URL, menghasilkan string acak (dan memverifikasi bahwa string ini belum digunakan), dan menempatkan keduanya di semacam database. Ketika Anda meminta url, skrip lain mencari di database untuk string acak, dan jika ditemukan mengarahkan Anda ke situs.
Ini tentu saja lebih rumit dalam produksi karena fitur-fitur yang dibutuhkan seperti pencegahan penyalahgunaan, pemfilteran URL, pencegahan spam, verifikasi URL, dll. Tetapi itu cukup sederhana untuk diterapkan.
Bahasanya tidak relevan, kebanyakan orang akan melakukannya.
sumber
<key, url>