Kami memiliki database sumber daya, baik itu produk, posting blog atau sesuatu. Kita perlu merancang skema URL untuk mengatasinya, untuk situs web publik.
Berikut adalah dua contoh yang terikat ID basis data:
Berikut ini contoh yang ramah:
(Sedikit melihat kehidupan browsing saya di sana)
Saya suka URL ramah karena Anda memiliki gagasan tentang apa yang ada di akhir URL ketika Anda mengarahkan atau melihatnya di email atau dokumen. Ini lebih baik untuk SEO, atau dulu.
Apa yang terjadi ketika dokumen atau produk diganti namanya? Entah karena itu berubah (Wiki mungkin tidak berubah tetapi sumber daya kami bisa) atau karena kesalahan ketik, kan? Sumber daya kami sangat teknis, kata-kata panjang dan rawan kesalahan.
Kami juga memiliki ID basis data yang merupakan angka. Mari kita lihat ide untuk alamat video menggunakan toko rental yang berpura-pura:
ID jelas dan digunakan dalam pencarian DB. Baik.
Bit pintu geser tidak unik dan hanya dihasilkan dari judul video, dapat diverifikasi di GET, jadi jika pintu geser dimasukkan dan tidak cocok dengan apa yang sebenarnya dalam dokumen 287171, responsnya mencapai 404.
Atau mungkin itu bisa diabaikan, membiarkan manusia untuk menempel apa pun yang mereka suka di sana, jika seseorang pernah peduli. Jadi URL ini juga berfungsi:
Masalah dengan memverifikasi bagian ramah, seperti yang disebutkan, masalah penggantian nama atau koreksi salah ketik. Jika nama berubah, dan di domain kami yang terjadi, kami tidak ingin memecah URL yang ada di luar, jadi sebaiknya kami:
Hanya tidak memverifikasi bagian yang ramah.
Verifikasi, tetapi tambahkan 'riwayat' bagian yang ramah ke catatan basis data sehingga ID ramah sebelumnya masih berfungsi!
Pikiran dan ide Anda dipersilakan.
Luke
http://programmers.stackexchange.com/questions/255684/providing-friendly-urls-for-a-website-vs-realities-of-database-ids
(menggunakan versi yang tidak diverifikasi sehubungan dengan perubahan judul, juga tautan "bagikan" yang lebih pendek hanyalah id:http://programmers.stackexchange.com/q/255684/25768
(dan id pengguna untuk pelacakan lencana)