speedy: (SERVER) Probleme mit Content-Type

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

  1. 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
    speedy

    PS: ich verwende Apache als Webserver und browse mit IE5, Perl Version 5

    1. 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

    2. 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

      1. Hi Cheatah,

        finde ich irgendwo mehr Info‚s über HTTP-Header?

        CU
        speedy

        1. 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

          1. 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

            1. 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

              1. 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.

        2. 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

      2. 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: Inhalt

        Body
        --- end ---

        Ganz einfach :-)

        Cheatah

        Danke, das ist mal 'ne gute Erklärung! Werde ich mir merken!

        Reiner

  2. 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