Сообщение от voraa
|
Можно еще попробовать ограничить длину запроса на сервере.
У appache - LimitRequestBody
Тогда сам сервер будет посылать код ошибки, не вызывая скрипт.
|
Как я говорил - я на сервере "царь и бог". Шутка. В общем сам формирую байтовый поток. Могу послать абсолютно что угодно. Посылаю разумеется корректные http ответы.
И получается - что мне послать браузеру (проверял на мозила и частично хром), что бы браузер мог принять ответ до того как отошлёт все данные.
Upd. дополню как происходит обрыв данных. Т.к. у меня есть полный доступ к приёмному сокету - я принимаю данные порциями. Собственно TCP так и работает. Принимаю данные до тех пор пока не придёт шапка - где я могу вычленить размер body. Далее данные не принимаю. На уровне TCP - висит статус что сервер больше не может принять данные. Клиент в данном случае браузер, на уровне TCP шлёт запросы на возможность передать оставшиеся данные.
Я в этот момент отправляю ответ и закрываю сокет.
Я это написал - потому как не уверен как корректно вообще прерывать отсылку данных с браузера.