Dieter Raber: kann man ein bestimmtes protokoll erzwingen

Hallo,

Ich habe ein Problem mit aelteren Netscapes, das ich in einer aehnlichen Form schon vor ein paar Wochen ansprochen habe.
Die Umgebung ist Apache/1.3.27 (Win32) mod_ssl/2.8.12 OpenSSL/0.9.7a mod_perl/1.27 PHP/4.3.1.
Wenn ich eine Seite aufrufe mit dem Link
meineseite.php?artikelgruppe=101%2F007 (%2F = Forward Slash), klappt das in neueren Browsern ohne Probleme, nur bei NS4 gibt der Server eine Bad Request zurueck. Ein Blick in Ethereal, bzw. die Apache Logs bringt folgendes zu Tage:

Neuere Browser:
meineseite.php?artikelgruppe=101%2F007 HTTP/1.1" 200 852

NS 4:
meineseite.php?artikelgruppe=101%2F007 HTTP/1.0" 200 840

Die Antwort von Apache ist:
Bad Request
Your browser sent a request that this server could not understand.
The request line contained invalid characters following the protocol string.

Hat jemand einen Loesungsvorschlag?

Dieter

  1. Moin!

    Wenn ich eine Seite aufrufe mit dem Link
    meineseite.php?artikelgruppe=101%2F007 (%2F = Forward Slash), klappt das in neueren Browsern ohne Probleme, nur bei NS4 gibt der Server eine Bad Request zurueck. Ein Blick in Ethereal, bzw. die Apache Logs bringt folgendes zu Tage:

    Neuere Browser:
    meineseite.php?artikelgruppe=101%2F007 HTTP/1.1" 200 852

    NS 4:
    meineseite.php?artikelgruppe=101%2F007 HTTP/1.0" 200 840

    Du hast die interessanten Informationen weggeschnitten!

    Wie lautet die komplette Logzeile? Was genau loggt Ethereal mit?

    Die Antwort von Apache ist:
    Bad Request
    Your browser sent a request that this server could not understand.
    The request line contained invalid characters following the protocol string.

    Das ist offenbar ein sehr allgemeiner Fehler. Eine schnelle Google-Suche brachte zumindest das Indiz, dass Server möglicherweise mit Leerzeichen Probleme haben könnten.

    - Sven Rautenberg

    --
    Signatur oder nicht Signatur - das ist hier die Frage!
    1. Hallo Sven

      Im Apache Log steht:

      NS4

      127.0.0.1 - - [01/May/2003:16:08:07 +0200] "GET /meineseite/pages/reeds.php?artikelgruppe=101%2F007 HTTP/1.0" 200 842

      Mozilla
      127.0.0.1 - - [01/May/2003:16:11:44 +0200] "GET /meineseite/pages/reeds.php?artikelgruppe=101%2F007 HTTP/1.1" 200 854

      Leerzeichen gibt es keine, auch kein Umlaute oder sowas. Leider hat Ethereal gerade beschlossen, nicht mehr capturen, ich kann Dir also im Moment kein Log mitschicken.

      Dieter

      1. Mozilla
        127.0.0.1 - - [01/May/2003:16:11:44 +0200] "GET /meineseite/pages/reeds.php?artikelgruppe=101%2F007 HTTP/1.1" 200 854

        Leerzeichen gibt es keine, auch kein Umlaute oder sowas. Leider hat Ethereal gerade beschlossen, nicht mehr capturen, ich kann Dir also im Moment kein Log mitschicken.

        Bei meinen letzten Versuchen mit Packet Sniffern habe ich festgestellt, das Netzwerkverkehr mit localhost nicht mitgeloggt wird. Macht ja auch Sinn denn die Sniffer hören alles auf dem Netzwerk ab, aber die Daten von localhost nach localhost verlassen nie den lokalen Rechner und gelangen auch nicht auf das Netzwerk.
        Jedenfalls bin ich mir recht sicher dass es so ist, alles was den Rechner verließ wurde geloggt; lokaler Verkehr nicht. Daran ließ sich auch mit "log everything" (oder so ähnlich) nichts ändern...

        Dominik

        1. Moin,

          Jedenfalls bin ich mir recht sicher dass es so ist, alles was den Rechner verließ wurde geloggt; lokaler Verkehr nicht. Daran ließ sich auch mit "log everything" (oder so ähnlich) nichts ändern...

          'türlich geht das, du musst nur das Loopback-Interface als Quelle auswählen und dann fängt er auch Pakete von diesem Interface ein:

          gleam root # tcpdump -i lo
          tcpdump: listening on lo
          23:15:01.276935 localhost > localhost: icmp: echo request (DF)
          23:15:01.276962 localhost > localhost: icmp: echo reply

          (Geht selbstverständlich auch mit Ethereal)

          --
          Henryk Plötz
          Grüße aus Berlin
          ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
          ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
          1. Moin,

            »

            'türlich geht das, du musst nur das Loopback-Interface als Quelle auswählen und dann fängt er auch Pakete von diesem Interface ein:

            gleam root # tcpdump -i lo
            tcpdump: listening on lo
            23:15:01.276935 localhost > localhost: icmp: echo request (DF)
            23:15:01.276962 localhost > localhost: icmp: echo reply

            (Geht selbstverständlich auch mit Ethereal)

            unter Linux geht es also...
            Unter Windows 2000 hat es nicht geklappt. Ist das unter Windows auch möglich?

            Dominik

      2. Moin!

        Im Apache Log steht:

        NS4

        127.0.0.1 - - [01/May/2003:16:08:07 +0200] "GET /meineseite/pages/reeds.php?artikelgruppe=101%2F007 HTTP/1.0" 200 842

        Mozilla
        127.0.0.1 - - [01/May/2003:16:11:44 +0200] "GET /meineseite/pages/reeds.php?artikelgruppe=101%2F007 HTTP/1.1" 200 854

        Zweimal erfolgreiche Auslieferung der Seite, nur unterschiedlich groß (842 vs. 854 Byte).

        Der Bad Request muß woanders herkommen und mindestens im Error-Log, aber wahrscheinlich auch im Access-Log auftauchen.

        - Sven Rautenberg

        --
        Signatur oder nicht Signatur - das ist hier die Frage!
  2. Hi Dieter,

    Ich habe ein Problem mit aelteren Netscapes, das ich in einer aehnlichen Form schon vor ein paar Wochen ansprochen habe.
    Die Umgebung ist Apache/1.3.27 (Win32) mod_ssl/2.8.12 OpenSSL/0.9.7a mod_perl/1.27 PHP/4.3.1.
    Wenn ich eine Seite aufrufe mit dem Link
    meineseite.php?artikelgruppe=101%2F007 (%2F = Forward Slash), klappt das in neueren Browsern ohne Probleme, nur bei NS4 gibt der Server eine Bad Request zurueck.

    du weißt, daß es genau im Apache 1.3.27 zu diesem Themenkreis eine neue Direktive gibt?

    Vielleicht hilft in Deinem Fall das hier weiter:
        http://httpd.apache.org/docs/mod/core.html#protocolreqcheck

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.