Re: Verarbeiten von *grossen* HTTP-uploads



Peter J. Holzer wrote:
On 2007-10-20 06:48, Frank Seitz <devnull4711@xxxxxx> wrote:
Ulli Horlacher wrote:

nur bei HTTP POST haengen sich die cgis auf. Ich hab das Problem dann
lokalisiert: CGI.pm wertet leider CONTENT_LENGTH nicht aus, sondern
liest bis EOF. Das kommt aber nicht, der Client haelt die Verbindung
offen.

Dann wundert mich, dass CGI.pm mit HTTP 1.1 funktioniert,
denn da wird eine Connection per Default für mehrere Requests genutzt.

HTTP und CGI sind verschiedene Protokolle. Dem CGI-Script ist vollkommen
egal, ob der Server HTTP/1.0, HTTP/1.1 oder ganz was anderes mit dem
Client spricht - er muss nur CGI mit dem CGI-Script sprechen.

Was du erzählst, ist mir klar.
Hatte aber irrtümlich angenommen - da nicht weiter darüber
nachgedacht - der HTTP-Server würde bei keep-alive die
Verbindung zum CGI offen halten. Das tut er aber natürlich nicht.

Netzwerk-Socket lesen koennte und dabei CONTENT_LENGTH beachten wuerde.
Notfalls patche ich das CGI.pm. Allerdings ist der Code da drin nicht ganz
trivial und ich weiss nicht wo und wie ich das Einlesen entsprechend
modifizieren kann.

Dann wäre das auch nicht anders. CGI.pm liest wie jedes CGI
von STDIN und schreibt nach STDOUT. Auf der anderen Seite ist der
HTTP-Server.

Eben. Der HTTP-Server und nicht der Client. Würde das Script direkt auf
den Netzwerk-Socket zugreifen, wäre am anderen Ende der Client. Der
spricht aber eben nicht CGI, sondern HTTP.

In der Antwort spricht das CCI-Skript schon HTTP.
Genau genommen ist CGI - anders als HTTP - auch kein Protokoll,
sondern eine Schittstellenspezifikation, die vor allem die
Aufruf/Eingabeseite betrifft.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
.



Relevant Pages

  • Re: Verarbeiten von *grossen* HTTP-uploads
    ... HTTP und CGI sind verschiedene Protokolle. ... Client spricht - er muss nur CGI mit dem CGI-Script sprechen. ... spricht aber eben nicht CGI, ...
    (de.comp.lang.perl.cgi)
  • Re: CGI - POST - newbie
    ... If you are new to CGI, HTML, HTTP and Perl all at the same time you will ... It communicated with a web server ...
    (comp.lang.perl.modules)
  • Re: Web Connectivity (now slightly OT)
    ... It's not as simple as dumping some HTML to standard out. ... If you don't follow the protocol, ... >> dynamic pages using CGI should be a doddle. ... > of HTTP headers. ...
    (comp.databases.pick)
  • Re: Verarbeiten von *grossen* HTTP-uploads
    ... CGI.pm liest wie jedes CGI ... Der HTTP-Server und nicht der Client. ... spricht aber eben nicht CGI, ... In der Antwort spricht das CCI-Skript schon HTTP. ...
    (de.comp.lang.perl.cgi)
  • Re: Ruby without rails as a web server
    ... we've decided on HTTP as the ... We have Apache, and since we want an OO server, we're considering Ruby ... They arrive in the ENVhash, and you require 'cgi' to automatically parse ... Tip two: Use Rails. ...
    (comp.lang.ruby)