Perl-CGI für Tippfaule
hotti
- meinung
1 Beat0 hotti
0 Evntl. für SELFHTML nv
hotti0 Pragma0 hotti0 Pragma0 Der Martin
0 dedlfix
0 Alexander (HH)
hi,
Tippfaule schreiben in die .htaccess:
DefaultType text/html
und geben im PerlScript statt
print "Content-Type: text/html\n\n";
nur noch mit
print "\n\n";
eine Leerzeile aus. Das funktioniert einwandfrei, die Frage ist: Macht das jemand (von Euch)?
Hotti
Tippfaule schreiben in die .htaccess:
mfg Beat
Tippfaule schreiben in die .htaccess:
Schaffe keine unnötigen Abhängigkeiten!
Naja, irgendwie sind wir doch alle von irgendwas abhängig, oder ;-)
Horst Fiesling
hi,
Tippfaule schreiben in die .htaccess:
DefaultType text/html
und geben im PerlScript statt
print "Content-Type: text/html\n\n";nur noch mit
print "\n\n";eine Leerzeile aus. Das funktioniert einwandfrei
Hintergrund:
Den vollständigen HTTP-Header sendet stets der Webserver. Die Leerzeile, mit
print "\n\n";
erzeugt, heißt soviel wie: "Baue nichts weiter ein, ich habe Header fertig, mach selber", der Apache macht das auch, indem er für den MIME-Type und für charset die Default-Werte seiner Konfiguration verwendet (was natürlich nicht unbedingt text/html; charset=iso-8859-1 sein muss) und danach schön brav den weiteren Content im Browser ausgibt oder zum Speichern unter anbietet.
Mit Perl können beliebige Header eingebaut werden, ein
print "Etag: 12345\n\n";
baut der Apache genauso ein wie den Content-Type, erwartet jedoch nach der Leerzeile keine weiteren Header (Felder), die lt. Protokoll-Spezifikation ansonsten lediglich mit einem \n newLine getrennt sind.
Freilich sind Default-Werte eben nur Default-Werte und nicht immer das, was erwaret wird. Aber wer schon mit Perl einen Content-Type ausgibt, sollte das charset nicht vergessen, wennschon, dennschon ;-)
Viele Grüße,
Horst Hackfleisch
Freilich sind Default-Werte eben nur Default-Werte und nicht immer das, was erwaret wird. Aber wer schon mit Perl einen Content-Type ausgibt, sollte das charset nicht vergessen, wennschon, dennschon ;-)
Welches soll ich denn bei "image/gif" angeben? ;-)
In Analogie zu Deinem OP könnte ich ferner anmerken: Es sei denn, man hat den passenden Default Charset hinterlegt... Die Kombi habe ich allerdings noch nicht ausprobiert ;-)
Freilich sind Default-Werte eben nur Default-Werte und nicht immer das, was erwaret wird. Aber wer schon mit Perl einen Content-Type ausgibt, sollte das charset nicht vergessen, wennschon, dennschon ;-)
Welches soll ich denn bei "image/gif" angeben? ;-)
Nunja, das HTTP-Protocol lässt sich nicht vergewaltigen, aber Du hast ja beim Apache immer noch die Files-Directive :-)
Viele Grüße vom Hudson River,
Schoschone Horst
Welches soll ich denn bei "image/gif" angeben? ;-)
Nunja, das HTTP-Protocol lässt sich nicht vergewaltigen,
???
aber Du hast ja beim Apache immer noch die Files-Directive :-)
Die Ausgabe eines Bildes per Script muss nicht zwangsläufig etwas mit Dateien zu tun haben...
Hi,
Aber wer schon mit Perl einen Content-Type ausgibt, sollte das charset nicht vergessen, wennschon, dennschon ;-)
Welches soll ich denn bei "image/gif" angeben? ;-)
Nunja, das HTTP-Protocol lässt sich nicht vergewaltigen
aber nichts und niemand hindert mich daran, innerhalb des durch das HTTP-Protokoll abgesteckten Rahmens zusätzliche Angaben zu machen, die im Kontext sinnfrei sind. Beispielsweise eine Zeichencodierung für nicht-textbasierte Ressourcen.
aber Du hast ja beim Apache immer noch die Files-Directive :-)
Äh, ja und? Gestern abend hat's auch geschmeckt.
Viele Grüße vom Hudson River
Oh, you're currently in New York (not necessarily New York City)?
Schoschone Horst
Schoscho. Isch ja intereschant. ;-)
Ciao,
Martin
Hi!
Aber wer schon mit Perl einen Content-Type ausgibt, sollte das charset nicht vergessen, wennschon, dennschon ;-)
Du formulierst das nun schon zum wiederholten Mal in dieser pauschalen Form und damit ist die Empfehlung schlicht unsinnig. Nicht jeder Inhalt besteht aus Zeichen. Es gibt eine Menge Content-Types für binäre Daten. Da hat eine charset-Angabe nichts verloren.
Lo!
Moin Moin!
Das funktioniert einwandfrei, die Frage ist: Macht das jemand (von Euch)?
Nö, das schafft unnötige externe Abhängigkeiten. Für CGIs gibt's eine brauchbare Spec und seit einiger Zeit auch eine RFC. Beide sagen ganz klar, dass das CGI einen Content-Type senden MUSS, wenn es Content (statt eines Redirects) sendet.
Dass der Apache da etwas entspannter ist, solltest Du unter "Zufall" oder "good will" des Apachen verbuchen. Andere Webserver könnten da durchaus strikter implementiert sein.
Mal davon abgesehen überlasse ich das Ausgeben der Header in aller Regel irgendeinem Framework (dessen Default MIME-Type in aller Regel "text/html" ist), mir würde diese Konstruktion also gar nichts einsparen.
Alexander