AlexBausW: zusätzlicher Request mit Mozilla1.3, IE5.0, NN4.78

Beitrag lesen

Hallo alle,

Ich habe Probleme mit der Kommunikation meines Mozilla1.3at auf Win98SE mit einem Webshop (auf Suse7.3 mit perl5.6.1 und Apache1.3.29 suexec) über Proxies (Webwasher3.3 -> Sambar5.2) im lokalen Netz per DSL ins WWW. (Ich hoffe das sind die Daten aller Beteiligten  :))

Wenn man eine Bestellung ausführen will, bekommt man zuerst noch mal alle Artikel angezeigt. Anschließend wird ein Formular angefordert, in das der Kunde seine Daten eintragen soll. Im Vordergrund ist der Ablauf bis dahin vollkommen in Ordnung.

Im Hintergrund lädt mir aber der Mozilla die Seite ein zweites Mal per GET-Request mit leicht verändertem Accept-Header.
Dadurch das dabei die POST-Parameter verloren gehen, wird eine neue Session erzeugt und eine Umleitung auf die angeforderte URL erzeugt, die mit einer Fehlermeldung wegen nicht übertragener Parameter antwortet. Die Antwort landet aber anscheinend im Datennirwana, da die geladene Kundendatenformularseite nicht ersetz und auch kein neues Fenster mit der neuen Seite geladen wird.

In einer früheren Version hatte ich auf der ersten Seite des Bestellvorgangs ein Formular, daß per GET die nächste Seite anforderte. Bei dem zusätzlichen Request "hing" sich dann aber der Prozess des CGI-Programms bei Ausgabe des Formulars (für die Kundendaten) so auf, daß ziemlich genau fünf Minuten lang kein weiterer CGI-Prozess gestartet werden konnte (wobei der hängende Prozess aber keinerlei CPU- bzw Memory-Last verursachte und auch keine Fehlermeldung ausgab). Unter anderen Domains (die auf dem selben Server anderen Kunden/Usern zugeordnet sind) konnten aber weiterhin CGI-Programme aufgerufen werden.

Das lässt mich zu der Vermutung kommen, dass suexec hier weitere CGI-Prozesse für den entsprechenden User unterbunden hat, bzw. keine weiteren Prozess starten konnte (Mit dem genauen Zusammenspiel zwischen Apache, Perl und suexec kenne ich mich leider nicht genauer aus).

Mit der LiveHeaders-Funktion in meinem Mozilla habe ich folgenden HTTP-Dialog aufgezeichnet:

=========================================================

http://www.genealogie-shop.de/cgi-bin/order.cgi

POST http://www.genealogie-shop.de/cgi-bin/order.cgi HTTP/1.0
Host: www.genealogie-shop.de
User-Agent: Mozilla/5.0 (Windows; U; Win98; de-AT; rv:1.3) Gecko/20030312
Accept: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: de,de-at;q=0.8,en;q=0.5,en-us;q=0.3
Accept-Encoding: gzip,deflate,compress;q=0.9
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: close
Proxy-Connection: close
Referer: http://www.genealogie-shop.de/cgi-bin/order.cgi?action=list&sid=1075992158xfWL9JJ30187
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
action=udat&sid=1075992158xfWL9JJ30187

HTTP/1.x 200 OK
Date: Thu, 05 Feb 2004 15:50:37 GMT
Server: Apache/1.3.29 (Unix) mod_ssl/2.8.16 OpenSSL/0.9.6l PHP/4.3.4
Content-Type: text/html; charset=iso-8859-1
Proxy-Connection: Close
Connection: Close
----------------------------------------------------------
http://www.genealogie-shop.de/cgi-bin/order.cgi#

GET http://www.genealogie-shop.de/cgi-bin/order.cgi HTTP/1.0
Host: www.genealogie-shop.de
User-Agent: Mozilla/5.0 (Windows; U; Win98; de-AT; rv:1.3) Gecko/20030312
Accept: video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: de,de-at;q=0.8,en;q=0.5,en-us;q=0.3
Accept-Encoding: gzip,deflate,compress;q=0.9
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: close
Proxy-Connection: close
Referer: http://www.genealogie-shop.de/cgi-bin/order.cgi

HTTP/1.x 302 Found
Date: Thu, 05 Feb 2004 15:50:39 GMT
Server: Apache/1.3.29 (Unix) mod_ssl/2.8.16 OpenSSL/0.9.6l PHP/4.3.4
Location: http://www.genealogie-shop.de:80/cgi-bin/order.cgi?sid=1075996239j04iJDe4248
Content-Type: text/html; charset=iso-8859-1
Proxy-Connection: Close
Connection: Close
----------------------------------------------------------
http://www.genealogie-shop.de/cgi-bin/order.cgi?sid=1075996239j04iJDe4248

GET http://www.genealogie-shop.de/cgi-bin/order.cgi?sid=1075996239j04iJDe4248 HTTP/1.0
Host: www.genealogie-shop.de:80
User-Agent: Mozilla/5.0 (Windows; U; Win98; de-AT; rv:1.3) Gecko/20030312
Accept: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: de,de-at;q=0.8,en;q=0.5,en-us;q=0.3
Accept-Encoding: gzip,deflate,compress;q=0.9
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: close
Proxy-Connection: close
Referer: http://www.genealogie-shop.de/cgi-bin/order.cgi

HTTP/1.x 200 OK
Date: Thu, 05 Feb 2004 15:50:39 GMT
Server: Apache/1.3.29 (Unix) mod_ssl/2.8.16 OpenSSL/0.9.6l PHP/4.3.4
Content-Type: text/html; charset=iso-8859-1
Proxy-Connection: Close
Connection: Close

============================================================

Außer Opera7.11/Win32 zeigen dieses Verhalten auch noch IE5 und NN4 mit und ohne zwischengeschalteten WebWasher. :( Also liegt es vielleicht doch an irgendetwas, was man abschalten könnte *hoff*). Kennt jemand dieses Phänomen, oder kann es irgendwie aus der Kommunikation ableiten? Beschreibt irgendeine RFC das Verhalten (es machen schließlich NN4 und IE5 auch), die ich mir unbedingt durchlesen sollte, deren Nummer ich aber nicht kenne?

Kleine wichtige Zusatzinformation: In einer früheren Version arbeitete der Shop mit CSV-Dateien als Datenbank (übrigens schnell und reibungslos ;). Jetzt wo die Problem auftauchen, ist MySQL das DBMS, welches die Daten liefert. Aber ich vermute den Verursacher woanders, weis aber nicht wo.

Gruß Alex

--
>> Dass in eine if Schleife zu packen schafft mein 10 jähriges Patenkind. [...]
> Mhhh, wenn man if in Schleifen packt, muss man sich auch nicht wundern, wenn die Patenkinder verwöhnte Luder werden. [...]
[TomIRL und Tom in ?t=64084&m=364291]
ss:) zu:} ls:} fo:| de:[ va:| ch:| sh:( n4:& rl:° br:& js:| ie:| fl:| mo:}