Предыстория: у меня есть собственный HTTP-сервер, написанный на Erlang для потоковой передачи данных в приложение для iPad. Я использовал NSURLConnection — стандартный высокоуровневый способ Apple для потребления HTTP-контента. Однако у меня были проблемы с буферизацией небольших фрагментов данных, которые не сразу передавались моему коду, поэтому я был вынужден переключиться на CFNetwork.
В то время как NSURLConnection никогда не жаловался, CFNetwork иногда (~ 1 из 3 раз) выдает следующую ошибку и убивает соединение:
The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 303.)
Согласно Apple docs, это соответствует «Не удалось проанализировать ответ HTTP-сервера».
Это происходит только после того, как соединение было открыто в течение нескольких секунд и был сделан ответ.
Я сделал захват пакетов на сервере с помощью tshark. Он довольно большой и содержит кодировку UTF-8, а также конфиденциальные данные.
Как я могу проверить, что это действительный сегментированный ответ HTTP 1.1?
Просто чтобы уточнить, я просмотрел результат tcpick -C -yP -r ...
и сразу не увидел ничего неправильного, но мне интересно, есть ли что-нибудь, что я могу передать, чтобы подтвердить, что он байт за байтом действителен.