Я использую библиотеку libcurl (c ++) для запроса к серверу IIS 7.5. Транзакция представляет собой обычный веб-сервис SOAP.
Все работает нормально, мои запросы отправляют флаг «Ожидайте 100-continue», а сервер отвечает 100-continue и сразу после этого код 200 ok. с ответом веб-службы.
Но время от времени клиент получает сообщение с продолжением 100, а после этого - еще один код 100. Это заставляет клиента сообщать об ошибке, поскольку он ожидает окончательный код состояния сразу после кода сервера 100. Я прочитал в протоколе W3C HTTP1.1:
Исходный сервер, который отправляет ответ 100 (Продолжить), ДОЛЖЕН в конечном итоге отправить окончательный код состояния после получения и обработки тела запроса, если только он не разорвет транспортное соединение преждевременно.
Слово «в конечном итоге» сбивает меня с пути. Возможно ли / распространено, что сервер отправляет несколько 100 кодов после кода окончательного статуса?
Если кто-нибудь сталкивался с этой проблемой раньше, можете ли я указать на какие-либо объяснения того, как обрабатывать несколько кодов ответа 100 с помощью libcurl?
заранее спасибо