Aus Sicht des Clients gibt es keinen Unterschied zwischen den beiden URIs. URIs sind für den Client undurchsichtig. Verwenden Sie die Karten, die sauberer in Ihre serverseitige Infrastruktur integriert sind.
Für REST gibt es absolut keinen Unterschied. Ich glaube, der Grund, warum so viele Menschen glauben, dass nur die Pfadkomponente die Ressource identifiziert, liegt in der folgenden Zeile in RFC 2396
Die Abfragekomponente ist eine Informationsfolge, die von der Ressource interpretiert werden soll.
Diese Zeile wurde später in RFC 3986 wie folgt geändert :
Die Abfragekomponente enthält nicht hierarchische Daten, die zusammen mit den Daten in der Pfadkomponente (Abschnitt 3.3) zur Identifizierung einer Ressource dienen
IMHO bedeutet dies, dass sowohl die Abfragezeichenfolge als auch das Pfadsegment bei der Identifizierung einer Ressource funktional gleichwertig sind.
Update, um Steves Kommentar zu adressieren.
Vergib mir, wenn ich gegen das Adjektiv "Reiniger" bin. Es ist einfach viel zu subjektiv. Sie haben jedoch den Punkt, dass ich einen wesentlichen Teil der Frage übersehen habe.
Ich denke, die Antwort auf die Frage, ob 404 zurückgegeben werden soll, hängt davon ab, welche Ressource abgerufen wird. Handelt es sich um eine Darstellung eines Suchergebnisses oder um eine Darstellung eines Produkts? Um dies zu wissen, müssen Sie sich wirklich die Linkbeziehung ansehen, die uns zur URL geführt hat.
Wenn die URL eine Produktdarstellung zurückgeben soll, sollte eine 404 zurückgegeben werden, wenn der Code nicht vorhanden ist. Wenn die URL ein Suchergebnis zurückgibt, sollte sie keine 404 zurückgeben.
Das Endergebnis ist, dass das Aussehen der URL nicht der bestimmende Faktor ist. Es ist jedoch üblich, dass Abfragezeichenfolgen verwendet werden, um Suchergebnisse zurückzugeben. Daher ist es intuitiver, diesen URL-Stil zu verwenden, wenn Sie keine 404s zurückgeben möchten.