Ich habe URLs der Form http://domain/image/⟨uuid⟩/42x42/some_name.png
. Der Web-Server (nginx) ist so konfiguriert, dass er nach einer Datei /some/path/image/⟨uuid⟩/thumbnail_42x42.png
sucht, und wenn er nicht existiert, sendet er die URL an das Backend (Django via mod_wsgi), das dann das Thumbnail erzeugt. Dann sendet das Backend eine 302 Redirect an genau dieselbe URL, die vom Client angefordert wurde, mit der Idee, dass der Server bei dieser zweiten Anfrage die Thumbnail-Datei bemerkt und sie direkt sendet.
Die Frage ist, wird das mit allen Browsern funktionieren? Bis jetzt hat das Testen keine Probleme gezeigt, aber kann ich sicher sein, dass alle Benutzeragenten dies als beabsichtigt interpretieren?
Update: Lassen Sie mich die Absicht klären. Derzeit funktioniert das wie folgt:
Wenn das Backend das neu erstellte Image bedient, ist es aus zwei Gründen schlechter:
Also halte ich das Backend für die minimale Zeitmenge.
Update²: Ich würde wirklich einige RFC-Referenzen oder Meinungen von jemandem mit Erfahrung mit vielen Browsern zu schätzen wissen. All diese positiven Antworten sind angenehm, aber sie sehen etwas grundlos aus.
Wenn nicht, ist der Kunde kaputt. Die meisten Clients folgen Redirect-Schleifen bis zu einem maximalen Wert. Also ja, es sollte in Ordnung sein, bis Ihr Backend das Thumbnail aus irgendeinem Grund nicht erzeugt.
Sie können stattdessen die URLs so ändern, dass sie Ссылка lauten und das Thumbnail und den richtigen Inhaltstyp usw. zurückgibt
Tags und Links http browser compatibility