sHo: Nutzung reservierter Zeichen in URLs/URIs

Beitrag lesen

Und damit wären wir fernab des eigentlichen Themas bei einer der vielen polarisierenden Grundsatzfragen angelangt. Die eigentliche Frage werde ich wohl dann doch begraben können was? Nungut ..

Cache sind nicht ein Ersatz für deine Datenbank. Sie eigenen sich nicht für Seiten, die über einen querystring Datenbank-Befragung indizieren.

Selbstverständlich sind Caches und Datenbanken zwei verschiedene Paar Schuhe und haben beide ihr spezifisches Einsatzgebiet. Wieso du nun noch Datenbanken ins Spiel bringst kann ich nicht ganz nachvollziehen - das macht das Thema nur komplizierter.

Restfull Seiten geben vor statischer Content zu sein.
Sie verstopfen dadurch Caches unnötig und müssen dann mit CacheControll wiederum bewahrt werden, dasss Datenabfragen gerade in einem schneller wechselnden Datenbestand wieder durchgeführt werden.

Scheinbar hast du schon viele schlechte Beispiele gesehen, das aber gleich blindlings auf alle restful Seiten zu beziehen ist unfair und dumm (entschuldige aber denk mal drüber nach). Eine Seite (oder Resource) gibt aus sich heraus doch nicht vor statisch zu sein nur weil das Prinzip von REST gilt. Wie gesagt kann es auch nicht nur statischen Inhalt geben. Wär ja schlimm, denn das würde heißen es würde keine resourcen hinzukommen oder wegfallen (kurz : es würde sich nie etwas ändern). Ob resources (z.B. halt Seiten) vom cache proxy aufgenommen werden kann man jeder resource (Seite) zuweisen. Wird das nicht oder falsch gemacht, können die caches unnötig verstopfen - der Grund ist aber nicht REST an sich, sondern die Implementierung.

Robots (auch ene Art Informationscache) müssen ebenfalls Prioritäten setzen. Darin liegt begründet dass viele kleinere Bots entweder keine Querystrings oder nur solchen mit einer Combo parsen.
Wenn nun diese Bots keine Queries mehr sehen, werden sie irgendwelche urls indexieren, und das eventuell wichtige dazu relativ vernachlässige.

Das sich robots auf queries eingestellt haben mag sein - es ist jedoch noch lang nicht richtig oder gut, nur weil es gängige Praxis ist. Robots könnten sich auch auf andere Strukturen einstellen lassen, auf diese vielleicht sogar besser. Was robots oder andere agents auf ihren request hin bekommen (also was sie sehen) sollen kann man ebenfalls steuern.

Ich denke, das muss man sich zweimal überlegen ob man Restfull Urls einsetzt. Es könnte ein Schuss in den eigenen Fuss werden.

Wie alles, was man einfach falsch angeht. =)

Und dann komme ich zur Performance. Das Caching ist auf deinem Server am Besten aufgehoben, weil du allein weist, wann content frisch ist.

Dadurch, dass ich das weiß kann ich der resource (Seite) schon mitgeben wann sie verfällt und somit dem Proxy, wie lang er die resource vorhalten kann.

Den Cache auf ferne Proxies zu verlagern, heisst, den Speicherbedarf reell zu multiplizieren. Ja davon kann dein eigener Server profitieren, aber wenn du dennoch frische Inhalte anbieten willst, bringt es das schlicht nicht.

Wieso sollte es nichts bringen? Welchen Intervalle meinst du denn mit 'frisch'? Ein paar Minuten vielleicht? Das kann in manchen Szenarien schon eine halbe Ewigkeit sein und mehrere tausend gleicher Anfragen eingehen. Ein caching lohnt sich schon bei einer einzigen abgefangenen Anfrage, vor allem bei heutigen teilweise sehr komplexen und rechenintensiv erstellten resources (Seiten).

Nichts für ungut. =)

Grüße,
stefan