Цель C — ответ HTTP/0.9 от GET с использованием ASIHTTPRequest

Я начал использовать ASIHTTPRequest в своем проекте iOS для выполнения вызовов методов REST-сервера и до сих пор преуспел в этом. У меня просто есть одна странная прерывистая проблема. Очень редко я получаю следующий ответ от использования [ASIHTTPRequest startAsynchronous] :

HTTP/0.9 200 OK

Когда это происходит, мой серверный метод не вызывается. Обычно каждый вызов метода возвращает ответ, начинающийся с «HTTP/1.1». Я использую HTTPS с сертификатом GeoTrust/RapidSSL для защиты соединения. Интересно, что я обнаружил, что получаю тот же ответ «HTTP/0.9 200 OK», если пытаюсь подключиться к порту SSL (443), но указываю «http» в качестве протокола.

Просто добавим больше информации: проблема в основном возникает после того, как приложение не используется в течение определенного периода времени. Например. запрос завершается успешно, затем оставьте приложение на некоторое время бездействующим, затем при следующем запросе возникает проблема, после чего приложение продолжает работать нормально.

Кто-нибудь может пролить свет на происходящее?

Большое спасибо, Джонатан

ОБНОВЛЕНИЕ: я вставил ниже некоторую отладочную информацию, выводимую ASIHTTPRequest, когда возникла проблема:

2012-07-12 09:35:49.376 mytestapp[3038:18f07] [CONNECTION] Closing connection #13 because it has expired
2012-07-12 09:35:49.377 mytestapp[3038:18f07] [CONNECTION] Closing connection #14 because it has expired
2012-07-12 09:35:49.378 mytestapp[3038:18f07] [CONNECTION] Closing connection #15 because it has expired
2012-07-12 09:35:49.380 mytestapp[3038:18f07] [CONNECTION] Request #39 will use connection #16
2012-07-12 09:35:49.381 mytestapp[3038:18f07] [CONNECTION] Request #40 will use connection #17
2012-07-12 09:35:49.382 mytestapp[3038:18f07] [CONNECTION] Request #41 will use connection #18
2012-07-12 09:35:49.529 mytestapp[3038:18f07] [STATUS] Request <ASIHTTPRequest: 0x88a1e00> finished downloading data (0 bytes)
2012-07-12 09:35:49.529 mytestapp[3038:18f07] [STATUS] Request <ASIHTTPRequest: 0x88a1e00> received response headers
2012-07-12 09:35:49.530 mytestapp[3038:18f07] [AUTH] Request <ASIHTTPRequest: 0x88a1e00> has passed Basic authentication
2012-07-12 09:35:49.530 mytestapp[3038:18f07] [CONNECTION] Got no keep-alive header, will keep this connection open for 60.000000 seconds
2012-07-12 09:35:49.530 mytestapp[3038:18f07] [CONNECTION] Request #41 finished using connection #18
2012-07-12 09:35:49.531 mytestapp[3038:18f07] [STATUS] Request finished: <ASIHTTPRequest: 0x88a1e00>
2012-07-12 09:35:49.531 mytestapp[3038:15803] responseHeaders={
}
2012-07-12 09:35:49.531 mytestapp[3038:18f07] [STATUS] Request cancelled: <ASIHTTPRequest: 0x88a1e00>
2012-07-12 09:35:49.532 mytestapp[3038:18f07] [STATUS] Request cancelled: <ASIHTTPRequest: 0x88a0200>
2012-07-12 09:35:49.532 mytestapp[3038:18f07] [STATUS] Request <ASIHTTPRequest: 0x88a0200>: Cancelled
2012-07-12 09:35:49.532 mytestapp[3038:18f07] [CONNECTION] Request #39 failed and will invalidate connection #16
2012-07-12 09:35:49.533 mytestapp[3038:18f07] [STATUS] Request cancelled: <ASIHTTPRequest: 0x88a0a00>
2012-07-12 09:35:49.533 mytestapp[3038:18f07] [STATUS] Request <ASIHTTPRequest: 0x88a0a00>: Cancelled
2012-07-12 09:35:49.533 mytestapp[3038:18f07] [CONNECTION] Request #40 failed and will invalidate connection #17
9
задан Jonathan Wareham 12 July 2012 в 08:51
поделиться