(SERVER) Probleme mit Content-Type
speedy
- perl
Hallo Forum,
zum testen meiner Perlscripts für das CGI verwende ich oft folgende Zeilen:
print "Content-type:text/plain\n\n";
print $meinetestvariable;
Das funktioniert auch wunderbar, nur manchmal (wenn ich dem Script in der URL-Zeile andere Daten mitgebe) geht plötzlich ein Download-Fenster auf, das mir die Scriptdatei zum runterladen anbietet (ja, echt!).
Mit "Content-type:text/html\n\n"; passiert sowas nie. Kann mir jemand sagen, woran das liegen kann ?
Danke
speedy
PS: ich verwende Apache als Webserver und browse mit IE5, Perl Version 5
Hallo Speedy,
versuch mal:
print "Content-type: text/plain\n\n";
D.h. das Leerzeichen ist oftmals wichtig!
Auch ist die Reihenfolge wichtig, so hat mich "text/html" schon Nerven gekostet (Downloadfenster ging auf), wogegen "html/text" kein Problem darstellt. Auch ist es wichtig, daß zwei "\n" da stehen. das sind irgendwelche Konventionen, die man sich anscheinend irgendwo merken muß.
Alles Gute,
Reiner
Hallo Forum,
zum testen meiner Perlscripts für das CGI verwende ich oft folgende Zeilen:
print "Content-type:text/plain\n\n";
print $meinetestvariable;Das funktioniert auch wunderbar, nur manchmal (wenn ich dem Script in der URL-Zeile andere Daten mitgebe) geht plötzlich ein Download-Fenster auf, das mir die Scriptdatei zum runterladen anbietet (ja, echt!).
Mit "Content-type:text/html\n\n"; passiert sowas nie. Kann mir jemand sagen, woran das liegen kann ?
Danke
speedyPS: ich verwende Apache als Webserver und browse mit IE5, Perl Version 5
Hi Reiner,
danke für Deinen Tipp. Ich werd‚s probieren. Irgendwo müssen doch diese Headerdefinitionen zu finden sein...
Mal schaun, ob ich was finde.
Viele Grüsse
speedy
Hi,
D.h. das Leerzeichen ist oftmals wichtig!
ja, obwohl's auch ohne syntaktisch korrekt ist. Ich vermute hier das Problem beim IE, der aber andererseits Header auch ganz gerne ignoriert.
Auch ist die Reihenfolge wichtig, so hat mich "text/html" schon Nerven gekostet (Downloadfenster ging auf), wogegen "html/text" kein Problem darstellt.
Entschuldige, aber das ist völlig falsch. Es existiert kein (standardisierter) MIME-Type namens "html/text", sondern nur "text/html".
Auch ist es wichtig, daß zwei "\n" da stehen. das sind irgendwelche Konventionen, die man sich anscheinend irgendwo merken muß.
Ein (HTTP-)Header besteht aus einer oder mehreren Zeilen und wird mit einer Leerzeile abgeschlossen. Eine korrekte Ausgabe ist also:
--- begin ---
Header-Eins: Inhalt
Header-Zwei: Inhalt
Header-Drei: Inhalt
Body
--- end ---
Ganz einfach :-)
Cheatah
Hi Cheatah,
finde ich irgendwo mehr Info‚s über HTTP-Header?
CU
speedy
Hi,
finde ich irgendwo mehr Info‚s über HTTP-Header?
ja :-)
Such mal bei http://www.rfc-editor.org/ (genauer: http://www.rfc-editor.org/rfcsearch.html) nach dem RFC 2068, der ist für HTTP/1.1 zuständig. HTTP/1.0 managed glaube ich RFC 1945. Und nimm Dir ein paar Stunden Zeit, RFCs sind nicht unbedingt leichte Bettlektüre... :-)
Cheatah
Moin!
Such mal bei http://www.rfc-editor.org/ (genauer: http://www.rfc-editor.org/rfcsearch.html) nach dem RFC 2068, der ist für HTTP/1.1 zuständig. HTTP/1.0 managed glaube ich RFC 1945.
Ich empfehle http://rfc.fh-koeln.de/. Mit einem vernuengftigen Browser kann man dort die Daten komprimiert uebertragen lassen. Ausserdem sieht man in der Liste, wenn eine neuere RFC eine aeltere obsolet macht. So z.B. 2616, welche eine Ueberarbeitung von 2068 ist.
So long
Hi,
wenn der IE mit MIME ein kleines Problem hat, besteht dann auch die Gefahr, daß ein Surfer plötzlich mal ein Skript zum Download angeboten bekommt? Ich meine, das wäre nun wirklich fatal, oder?
CU
speedy
Hi,
wenn der IE mit MIME ein kleines Problem hat, besteht dann auch die Gefahr, daß ein Surfer plötzlich mal ein Skript zum Download angeboten bekommt? Ich meine, das wäre nun wirklich fatal, oder?
nein, das ist völlig unmöglich. Der Client bekommt nur das, was der Server ihm liefert - die Probleme mit dem MIME-Type betreffen einzig und allein die Anzeige[*].
Das Script wird ja bereits auf dem Server ausgeführt, rausgeschickt wird nur das Ergebnis. Nur dieses könnte der IE dann zum Download anbieten, was aber nicht schlimmer ist als eine Darstellung auf dem Kopf. Ärgerlich für den Benutzer, aber keine Gefahr für Deine Daten.
Cheatah
[*] Auch im Sinne von Download-Fenster gemeint.
finde ich irgendwo mehr Info‚s über HTTP-Header?
Hi Speedy,
schau mal hier nach:
http://www.oreilly.com/openbook/webclient/ch03.html#38198
Bye
Timothy
Auch ist die Reihenfolge wichtig, so hat mich "text/html" schon Nerven gekostet (Downloadfenster ging auf), wogegen "html/text" kein Problem darstellt.
Entschuldige, aber das ist völlig falsch. Es existiert kein (standardisierter) MIME-Type namens "html/text", sondern nur "text/html".
Okay, dann sind wir uns einig. Dachte ich mir auch schon so. Bei mir kommt sowas meist durch Tüftelei zu Tage... :-)
Auch ist es wichtig, daß zwei "\n" da stehen. das sind irgendwelche Konventionen, die man sich anscheinend irgendwo merken muß.
Ein (HTTP-)Header besteht aus einer oder mehreren Zeilen und wird mit einer Leerzeile abgeschlossen. Eine korrekte Ausgabe ist also:
--- begin ---
Header-Eins: Inhalt
Header-Zwei: Inhalt
Header-Drei: InhaltBody
--- end ---Ganz einfach :-)
Cheatah
Danke, das ist mal 'ne gute Erklärung! Werde ich mir merken!
Reiner
Hi speedy!
PS: ich verwende Apache als Webserver und browse mit IE5, Perl Version 5
Das ist (wahrscheinlich) das Problem. Der IE5 hat ein sehr merkwuerdiges Verhaeltnis zu MIME-Types. Da werden Textdateien manchmal einfach als HTML dargestellt, dann werden sie mal wieder zum Download angeboten. Alles sehr seltsam.
Es mag polemisch klingen, aber die Loesung ist: Benutze einen vernuenftigen Browser.
So long