Frage zu 301 und Cache
Thomas Mell
- https
Hallo,
Laut RFC 2616 soll bei einer 301er Weiterleitung die Ziel-URI gecacht werden um beim nächsten Aufruf direkt angesprungen zu werden.
Kann das Cachen mit dem Header "Cache-Control: no-cache" bei 301ern unterbunden werden, oder ist dies nur für Proxys (oder Browser?) gedacht.
Grüße
Thomas
Heißa, Thomas,
Kann das Cachen mit dem Header "Cache-Control: no-cache" bei 301ern unterbunden werden, oder ist dies nur für Proxys (oder Browser?) gedacht.
Für diesen Zweck gibt es doch die 302er. (Siehe http://de.selfhtml.org/servercgi/server/httpstatuscodes.htm)
Caramba!
Grüße aus Biberach Riss,
Candid Dauth
Hallo,
Für diesen Zweck gibt es doch die 302er. (Siehe http://de.selfhtml.org/servercgi/server/httpstatuscodes.htm)
302er möchte ich nicht benutzen da Suchmaschinen diese nicht nachgehen.
Grüße
Thomas
Heißa, Thomas,
302er möchte ich nicht benutzen da Suchmaschinen diese nicht nachgehen.
Das halte ich für ein Gerücht.
Caramba!
Grüße aus Biberach Riss,
Candid Dauth
Hallo Thomas,
302er möchte ich nicht benutzen da Suchmaschinen diese nicht nachgehen.
Das stimmt nicht. Allerdings reagieren sie nicht so wie bei 301, dass sie Page Rank etc. übernehmen.
Aber wie bereits gesagt wurde: Ein 301 soll sich ein Browser merken [1]:
| The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs. Clients with link editing capabilities ought to automatically re-link references to the Request-URI to one or more of the new references returned by the server, where possible.
Gut, da hier SHOULD steht, werden sich sicherlich UAs finden, die so sich etwas nicht merken, allerdings dürften das die wenigsten sein. Wenn ein UA mit Editierfähigkeiten bei 301 sogar angewiesen wird, Verknüpfungen innerhalb eines Dokuments automatisch (evtl. sogar ohne Nachfrage) zu ändern, dann wirst Du keinem Browser bei einem 301 das Nicht-Speichern oktroyieren können.
Wenn Du eine Response willst, die nicht behalten wird, dann nimm 302 - das ist im HTTP-Standard so vorgesehen.
Viele Grüße,
Christian
[1] Der Satz
| This response is cacheable unless indicated otherwise.
spielt keine Rolle, ein 301 wird ja nicht direkt gecached, wenn der Browser sich den neuen URI merkt; der Browser merkt sich dabei lediglich, dass er den URI A durch den URI B ersetzen kann, er cached nicht die komplette Antwort. Der Satz ist auf Proxies bezogen, die an unterschiedliche Clients die gleiche Antwort zurückgeben können.