In questo momento la sua pratica standard per il recupero, ma penso che dovrebbe essere evitato quando possibile.
Se invece si ha un nome univoco per lo stesso bene come:
sample.com/products/galactic_telescope
ora hai dato un vero significato all'URL - per gli umani e per i motori di ricerca. e tu hai un sistema flessibile. puoi cambiare l'ID di quel prodotto, puoi aggiungere varianti e accessori, può andare esaurito - e l'URL rimane lo stesso.
Se si utilizzano i moduli, è possibile passare l'ID in un campo modulo nascosto. Ti consente anche di eseguire altri tipi di controlli, ad esempio puoi convalidare e verificare il valore di quel campo nel tuo costruttore e, se non è valido, ad esempio il modulo è stato compilato da un bot rogue - rimbalza su una pagina o una classe diversa prima di ogni altra azione.