2011-02-08 2 views
0

Мое приложение - настольный клиент и веб-приложение API. Я пишу обе программы.реализация HTTP-надежности

Отключает ли Интернет старые запросы? Это имеет значение, если это всего лишь старый запрос или дублированный запрос?

Повторяется HTTP-запрос - единственный способ обеспечить почти полную сквозную надежность по протоколу HTTP или как-то добиться уровня надежности на уровне SOAP, просто установив аргументы или заголовки без использования SOAP? Мое приложение не использует SOAP, просто синхронные запросы стандартной библиотеки Python (многопоточные).

ответ

0

HTTP, как правило, не самый идеальный вариант для этого. Вы отправляете один запрос, после которого соединение прерывается.

С другой стороны, HTTP использует TCP. TCP позволит вам подождать ответа, который скажет вам, получил ли сервер всю информацию в отличие от UDP, который является огнем & забыть.

Таким образом, уровень TCP достаточно безопасен. HTTP - это протокол запроса/ответа. После ответа соединение закрывается. Есть функции для «keep-alive» соединений, но они не работают на всех серверах. Обычно вы не можете полагаться на это.

Если HTTP является правильным протоколом, зависит от ситуации:

Если

  • приложение отправляет только запрос один раз в то время
  • сервер не нужно отправить информацию обратно на свой собственный , но только в ответ на запрос
  • другие порты/протоколы не являются параметрами из-за настроек брандмауэра

затем

HTTP - это правильный путь. Если какое-либо из приведенных выше утверждений неверно, вы можете использовать другой тип протокола TCP.

+0

Я бы сказал, что все три ваших пункта, вероятно, применимы. Я хочу, чтобы настольное приложение обещало надежность или просто сказать, что «система не работает для обслуживания». Клиент не является браузером, поэтому я не думаю, что это хороший дизайн, чтобы человек решил повторить попытку. – H2ONaCl

 Смежные вопросы

  • Нет связанных вопросов^_^