Próbuję udostępnić na żywo przetwarzanie plików w CGI i pokazywać dane na ekranie podczas ich przesyłania.Apache2 i CGI - jak utrzymać Apache w buforowaniu danych POST?
Jednak wydaje się, że Apache2 czeka na zakończenie pełnej sesji POST przed wysłaniem aplikacji CGI w ogóle.
Jak zmusić Apache2 do zaprzestania buforowania POST do mojej aplikacji CGI?
EDIT
Wydaje się, że to faktycznie wyjście CGI, że to są buforowane. Rozpocząłem przesyłanie strumieniowe danych do pliku tymczasowego, aby zobaczyć, jak się rozwija. To i mam kolejny problem.
1) Dane wyjściowe są buforowane. Próbowałem SetEnvIf (i po prostu SetEnv) dla "! Nogzip", "nogzip" i "! Gzip" bez powodzenia (w definicji katalogu CGI).
2) Wydaje się, że Apache2 nie odczytuje danych wyjściowych CGI, dopóki proces CGI nie zostanie zakończony? Zauważyłem, że moja aplikacja CGI (spłukująca lub nie) jest zawieszona na stałe na linii "fwrite (..., stdout)" około 80K.
EDIT
Dobra, Firefox jest brudząc ze mną. Jeśli wyślę plik 150K, to nie ma blokady CGI w okolicach 80K. Jeśli plik ma rozmiar 2G, istnieje blokada. Tak więc Firefox nie czyta danych wyjściowych z serwera podczas próby wysłania pliku ... czy istnieje jakiś nagłówek lub alternatywny typ zawartości, aby zmienić to zachowanie?
EDIT
Dobra, Przypuszczam, że zablokowanie wyświetlania na dużych plikach CGI nie jest ważne, rzeczywiście. Nie muszę powtarzać pliku! Debuguję problem spowodowany przez narzędzia do debugowania. :)
Myślę, że to działa dobrze wtedy. Dzięki!
UWAGA KOŃCOWA
Podobnie jak notatki ... powód myślałem Apache2 został buforowane wejście było to, że zawsze mam „Content-Length” zmienną środowiskową. Domyślam się, że FireFox jest wystarczająco inteligentny, aby wstępnie obliczyć długość treści wielostronicowego przesłania formularza, a Apache2 przekazywał to dalej. Myślałem, że Apache2 buforował dane wejściowe i raportował długość.
Próbuję linii! Nogzip bez większego sukcesu. Mam również teraz wyjściowy problem wyjściowy, jak opisano powyżej. – darron
Ponieważ był to problem wyjściowy, a informacja DEFLATE jest całkiem przydatna, zaznaczam to jako odpowiedź. – darron
Tak, wyjście nie było konieczne. Włączyłem go do debugowania i trochę mnie to poturbowało. Plan cały czas dotyczył opinii AJAX. Właściwie spróbuję przeanalizować i wyświetlić plik w jego postaci ... powinien wyglądać całkiem fajnie. Drobne, ale zadbane. – darron