Я пишу гибридное (веб / настольное) программное обеспечение, и оно загружается синхронизациями между двумя модулями.
Я пытаюсь использовать как можно больше HTTP-кодов для связи между ними.
На стороне сервера у меня есть Rails 3 и Ruby 1.9 (если это имеет значение для этого вопроса).В настольных компьютерах я использую Delphi 7 и Indy 9.0.50.
Когда я пытаюсь получить обновленные данные, и на стороне сервера нет ничего нового, мой серверный API возвращает код 304 (без изменений), который японимать как наиболее подходящий код в этом случае.Но компонент indy (TidHTTPClient) вызывает исключение тайм-аута (в частности, EIdReadTimeout).И он на самом деле «ждет» несколько секунд, вызывая задержку, с которой мне не по себе.
Это поведение нормально?Я использую неподходящий код HTTP?Есть ли способ избежать ожидания компонентом данных, если они точно никогда не появятся?