Abbiamo un database di risorse, siano essi prodotti, post di blog o qualcosa del genere. Dobbiamo progettare uno schema URL per indirizzarli, per il sito Web pubblico.
Ecco due esempi associati all'ID database:
Ecco un esempio che è amichevole:
(Un piccolo sguardo alla mia vita di navigazione lì)
Mi piacciono gli URL amichevoli poiché hai un'idea di cosa c'è alla fine dell'URL quando passi il mouse o lo vedi in un'e-mail o in un documento. È meglio per SEO, o lo era una volta.
Cosa succede quando il documento o il prodotto viene rinominato? O perché è cambiato (Wiki potrebbe non cambiare ma le nostre risorse potrebbero) o a causa di un errore di battitura, giusto? Le nostre risorse sono molto tecniche, parole lunghe e soggette a errori.
Inoltre, abbiamo un ID database, che è un numero. Diamo un'occhiata a un'idea per un indirizzo di un video usando un negozio di noleggio fasullo:
L'ID è ovvio e viene utilizzato nella ricerca DB. Belle.
Il bit per porte scorrevoli non è univoco e appena generato dal titolo del video, potrebbe essere verificato su GET, quindi se si inseriscono le porte scorrevoli e non corrispondono a ciò che è veramente nel documento 287171, risponde 404.
O forse potrebbe essere ignorato, permettendo agli umani di attaccare quello che vogliono lì, se qualcuno lo avesse mai curato. Quindi questo URL funzionerebbe anche:
Il problema con la verifica della parte amichevole è, come detto, il problema della ridenominazione o della correzione dell'errore di battitura. Se il nome è cambiato e nel nostro dominio accade, non vogliamo interrompere gli URL disponibili, quindi dovremmo:
Basta non verificare la parte amichevole.
Verifica, ma aggiungi una 'cronologia' delle parti amichevoli al record del database in modo che tutti gli ID amichevoli precedenti funzionino ancora!
I tuoi pensieri e idee sono i benvenuti.
Luca
http://programmers.stackexchange.com/questions/255684/providing-friendly-urls-for-a-website-vs-realities-of-database-ids
(utilizzando una versione non verificata alla luce delle modifiche del titolo, anche il link "condividi" più breve è solo l'id:http://programmers.stackexchange.com/q/255684/25768
(e l'id utente per il tracciamento dei badge)