Mailinglisten-Archive |
Hallo Hannes, Am Donnerstag, 27. September 2007 schrieb Hannes H.: > > Ausserdem sei noch angemerkt, dass die URL, die in einem > > Location-Header angegeben wird laut http-Standard absolut sein > > muss. Die meisten Browser tun es auch relativ, aber es ist eine > > potentielle Fehlerquelle... > > Ich fühle mich gerade hin- und hergerissen: Auf der einen Seite > wollte ich selbiges auch gerade anmerken, muss aber im selben > Augenblick zugeben, dass ich persönlich auch in vielen Fällen zu faul > bin, einen absoluten Pfad zusammen zu basteln. Faulheit als Argument, um gegen eine Standard zu verstoßen?! HANNES!!! :-))) Wenigstens weiß ich jetzt, warum der IE gegen soviel Standards verstößt. :-D > Wie hoch schätzt du das Risiko wirklich ein, dass es da ein Problem > geben könnte? Ich denke, es ist zu vernachlässigen. Ich kenne keinen > Browser, der relative Angaben nicht unterstützen würde. Es ist nicht korrekt. Also sollte man es nicht falsch machen. Dies gilt alleine schon deswegen, weil etwas, was nicht dem Standard entspricht, ohne Ankündigung von heute auf Morgen einmal nicht mehr funktionieren kann. Und dann kannst Du dafür niemanden anderes verantwortlich machen, als Dich selbst. Hinzukommt, daß man sicherlich dann nicht nur in diesem Punkt so vorgeht, sondern in anderen auch. Das endet in prinzipiell schlechtem Programmierstil. Da wird einem über kurz oder lang einmal etwas um die Ohren fliegen, und man kann nur hoffen, daß es eine Kleinigkeit ist, die man auch schnell korrigieren kann. Jemand, der professionell Software schreibt und vertreibt, kann sich sowas nicht erlauben, sonst setzt er die Stabilität seiner Software und das Vertrauen seiner Kunden aufs Spiel. > Ich habe mir schon oft Gedanken darüber gemacht, wie aufwendig es > wäre, ein PHP-Modul (PECL?) zu schreiben, dass relative Pfade in > header() in absolute umschreibt. Die Alternative wäre natürlich eine > eigene Funktion in PHP zu implementieren, die man anstatt von > header() nutzt ... Eine solche Funktion zu schreiben, ist eigentlich sehr einfach und völlig unaufwendig. Da gibt es in CM-Systemen etc. mit Sicherheit schon zig Beispiele oder ähnlich gelagerte Beispiele. In diesem Fall schnappst Du Dir die URL der aufgerufenen Seite und wendest einfach den relativen Pfad darauf an. :-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive