2010-11-14 3 views
10

Czy istnieje standardowy sposób radzenia sobie z niepowodzeniem odpowiedzi na porcje? Przelałem przez RFC i nie widzę standardowego sposobu radzenia sobie z tym.Przerwanie odpowiedzi kodowanej fragmentem HTTP/1.1

Moja wiedza na temat dzielonych odpowiedzi jest taka, że ​​są one przydatne, gdy nie możemy przetworzyć całej odpowiedzi naraz na serwerze. Dlatego wydaje się możliwe, że podczas częściowego przetwarzania odpowiedzi pojawia się błąd krytyczny i odpowiedź musi zostać zakończona.

Moje początkowe myśli są takie, że zamknięcie połączenia jest najlepszym rozwiązaniem, ale chciałem się upewnić, że nie było innego sposobu radzenia sobie z tą sytuacją. Dzięki.

+1

+1 Interesujące pytanie. – Gumbo

Odpowiedz

7

Tak, zamknięcie połączenia jest jedynym prawidłowym sposobem, ponieważ w HTTP nie może być żadnych dalszych danych żądania po rozpoczęciu odpowiedzi. (Dokładniej: ... po zakończeniu żądania oznaczonego dwoma numerami: \n s.)

+0

Po przerwaniu odpowiedzi Chrome wyświetla pustą stronę, a konsola programisty zgłasza "net :: ERR_INCOMPLETE_CHUNKED_ENCODING". IE wyświetla niekompletną stronę. Czy istnieje sposób, aby wysłać użytkownika do rzeczywistej strony błędu 500? Czy mogę wydrukować coś, co psuje dokument, aby przeglądarka go nie używała? – skibulk

+0

Nie jestem świadomy żadnego nagłówka "proszę rozpoczynać dekodowanie", ale warto zadać to pytanie w nowym pytaniu. – AndreKR