hotti: Evntl. für SELFHTML nv

Beitrag lesen

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

--
Wennschon Zeichensatz dann nicht charset sondern charkit ;-)