Hallo,
»If the request returns the cached page« - damit kann nur 304 gemeint sein.
Ein 304 hat keinen Messagebody ("MUST NOT" steht in der RFC), der gibt also keine Seite zurueck.
Ja, die Formulierung im Changelog ist Quark, natürlich gibt der Server bei 304 keine Seite zurück. Es kann aber wie gesagt nur 304 gemeint sein, denn genau dieses Verhalten hat sich geändert.
Eine einzige ver!#@*&te Zeile in der Dokumentation haette doch gereicht, warum etwas aendern?
Weil viele Scripte einfach XMLHttpRequest.status == 200 prüfen, weil sie dieses Verhalten vom Browser erwarten.
Was hat denn der Browser, also der Client mit den Statuscodes am Hut, die der Server auswirft?
Äh, was meinst du jetzt? Scripte, die XMLHttpRequest nutzen, fragen eben die gelegentlich die status-Eigenschaft ab. Und da denken die wenigsten JavaScript-Programmierer an 304. Daher hat Opera sein Verhalten dem MSIE und Firefox angeglichen (auch wenn ich Operas voriges Verhalten bzw. Konquerors aktuelles Verhalten für korrekter halte).
Das ist aber auch recht typisch fuer kommerzielle Software. Die muessen verkaufen und richten sich daher streng nach dem Kunden, nicht unbedingt streng nach den Standards, wenn dies die Kunden nicht tun/verlangen.
Ich wiederhole mich:
1. Es gibt keinen Standard, der explizit das eine oder das andere Verhalten fordert.
2. XMLHttpRequest.status == 304 ist eindeutiger und aussagekrätiger, denn man weiß, dass ein Request abgesetzt wurde. Das ist z.B. nützlich für die genannte »Watchdog-Funktion«. Das geht mit MSIE, Firefox und neueren Operas nicht mehr, da muss man die Information in der Ressource selbst unterbringen und müsste in der JavaScript-Anwendung Timestamps vergleichen.
Man kann sich darüber streiten, welches Verhalten sinniger ist. Auf jeden Fall haben beide nichts mit strenger Standardimplementierung zu tun, genausowenig ist eine Methode prinzipiell weniger kundenorientiert als die andere.
Ist aber durchaus in Ordnung, wenn dieses Verhalten auch ordentlich dokumentiert wird. Wenn die ihren Satz aus dem ChangeLog so formulieren, das er auch verstaendlich wird, waere diese Bedingung ja schon erfuellt.
Hehe, ja.
*Das* steht aber groß und breit in der Dokumentation.
Opera liefert keine mit. Ich habe zumindest keine mitbekommen.
Ja, nicht mehr.
Die ist Online zu haben?
Ja, F1 drücken oder im Menü Help > Opera Help.
Ich bekomme dann z.B. http://help.opera.com/Linux/8.5/en/index.html.
Ist fuer mich mit einem 56k-Modem und Minutenabrechnung nicht akzeptabel.
Dann lad sie dir herunter, sind mit wget knapp 216 Kb in 33 Dateien.
Mathias