Hi,
http://www.example.org/blog/filter(author:tim)
(damit würden alle Beiträge des Autors 'tim' aufgelistet)
Was interessiert mich als Nutzer, dass deine Funktion, die dafür zuständig ist, "filter" heisst?
http://www.example.org/blog/byauthor/tim - das wäre eine Adresse, der ich als humaner Nutzer deutlich den Vorzug geben würde.
http://www.example.org/cars/filter(color:blue,type:hatchback)/sort(by:name,to:ASC)
(etwas komplexer : sortierte Auflistung aller blauen Autos mit Fließheck nach dem Namen)
Auch hier sind sicherlich "schönere" URLs denkbar.
Das ellenlange und unleserliche Äquivalent mit einem query überlasse ich eurer Phantasie.
Ich finde nicht, dass die Klammern das ganze besser lesbar machen, und lang genug ist mir deine Version auch schon.
Das Keyword filter halte ich für gänzlich entbehrlich, es interessiert mich als Nutzer nicht.
color und type könnte man ggf. auch noch rauskürzen, wenn man ihnen feste Positionen zuweist - bei diesem Beispiel vielleicht weniger glücklich, aber in anderen Szenarien mit weniger potentiellen Auswahlmöglichkeiten durchaus. Und andererseite, Auswahlen mit noch mehr Filterkriterien müssen auch nicht unbedingt unter einer "festen" Adresse per GET erreichbar sein, weil sie langsam hinreichend individuell werden - da ist dann POST manchmal die vernünftigere Wahl. Und dem Nutzer kann ich ja immer noch anbieten, bestimmte Filter-Kombinationen in seinem Profil abzulegen, so dass sie später erneut abgerufen werden können.
Nun ich hoffe es macht es euch nicht noch schwerer mir auf die eigentliche Frage nach Problemen bei derart URLs/URIs zu antworten.
Deine eigentliche Frage ist sicherlich legitim; allerdings sollte vor ihrer Betrachtung doch sichergestellt werden, dass man sich nicht bereits vorher "verrannt" hat. Und selbst wenn nicht für dich persönlich und im Moment, so ist diese Diskussion doch für die Allgemeinheit sicherlich von genügend Interesse, um sie nicht einfach abzuwürgen :-)
MfG ChrisB
Light travels faster than sound - that's why most people appear bright until you hear them speak.