In realtà sto lavorando a un progetto di Django e non sono sicuro del miglior formato dell'URL per accedere a una particolare pagina di oggetto.Django - Progettazione di URL e best practice per identificare un oggetto
stavo pensando a queste alternative:
1) Using the autoincremental ID => .com/object/15
Questo è il modo più semplice e ben noto di farlo. "id_object" è l'ID autoincrementale generato dal motore del database durante il salvataggio dell'oggetto. Il problema che trovo in questo modo è che gli URL sono semplici e iterabili. Quindi possiamo creare uno script semplice e visitare tutte le pagine incrementando l'ID nell'URL. Forse un problema di sicurezza.
2) Using a <hash_id> => .com/object/c30204225d8311e185c3002219f52617
Il "hash_id" dovrebbe essere un valore stringa alfanumerica, generato ad esempio con funzioni UUID. È una buona idea perché non è iterabile. Ma generare ID univoci "casuali" può causare alcuni problemi.
3) Using a Slug => .com/object/some-slug-generated-with-the-object
Django è dotato di un campo "slug" per i modelli, e può essere utilizzato per identificare un oggetto nell'URL. Il problema che ho riscontrato in questo caso è che lo slug potrebbe cambiare nel tempo, generando URL danneggiati. Se alcuni motori di ricerca come Google avevano indicizzato questo URL danneggiato, gli utenti potrebbero essere guidati a pagine "non trovate" e il nostro ranking potrebbe diminuire. Il congelamento dello Slug può essere una soluzione. Voglio dire, salva lo slug solo sull'azione "Aggiungi", e non su quella "Aggiorna". Ma la lumaca ora può rappresentare qualcosa di vecchio o sbagliato.
Tutte le opzioni hanno vantaggi e svantaggi. Può essere l'uso di una combinazione di loro può alcuni dei problemi. Cosa ne pensi?
Guardate URL di questa domanda e avrete la vostra risposta :-) –