Почему мы используем HTTP, а не удаленные вызовы? - PullRequest
0 голосов
/ 31 января 2011

Эй, Прежде всего, это концептуальный вопрос, и я не знаю, является ли StackOverflow подходящим местом - поэтому приношу свои извинения, если я ошибаюсь.

В настоящее время Интернет используется не только для передачи необработанной информации. Многие и особенно сложные веб-приложения используются. Эти веб-приложения кажутся настолько сложными, что кажется нерациональным использование протокола HTTP, который основан на столь простом обмене данными, плюс он не имеет состояния.

Не будет ли более убедительным использовать удаленные вызовы для этих веб-приложений? На мой взгляд, большим преимуществом является унифицированный графический интерфейс с использованием HTML. Но есть приложения, которые не нуждаются в графических интерфейсах, и тогда наступает момент, когда протокол HTTP действительно громоздок.

Ответы [ 4 ]

3 голосов
/ 31 января 2011

Краткий ответ: HTTP разрешен через брандмауэры, где другие протоколы будут заблокированы.

1 голос
/ 31 января 2011

Короткий частичный ответ: во-первых, по историческим причинам - HTTP использовался с самого начала Интернета в качестве протокола для запроса документов, и с тех пор использовался для некоторых других целей.Одна из причин его дальнейшего использования заключается в том, что он обычно обслуживается через порт 80, и вы можете быть уверены, что он не будет заблокирован брандмауэрами между вашим клиентом и сервером.Протокол без сохранения состояния не всегда может быть тем, что вам нужно, но он по крайней мере имеет преимущество в защите серверной стороны от весьма тривиальных проблем с перегрузкой.

0 голосов
/ 31 января 2011

В настоящее время все больше и больше используются другие протоколы, включая удаленные вызовы и (тот, с которым я особенно знаком) WCF (который позволяет передавать двоичные данные TCP / IP).

Это позволяет данным перемещаться быстрее для приложений, которым требуется большая пропускная способность. Например, n-уровневое приложение может использовать двоичную передачу WCF между уровнями приложения и представления. Также общедоступные веб-сервисы позволяют использовать несколько протоколов, в том числе двоичные.

Для протоколов передачи данных брандмауэры должны быть настроены (т. Е. Предоставлять порт специально для вашего приложения), а не работать, я бы не рекомендовал использовать протокол, потому что брандмауэры не блокируют его.

Используемый протокол действительно зависит от того, кто его будет использовать, и какой контроль у вас будет над потреблением - например, сторонним третьим сторонам может потребоваться текстовая версия с общепринятым интерфейсом данных. С другой стороны, два уровня в одном веб-приложении могут использовать двоичную передачу данных для повышения производительности и безопасности.

0 голосов
/ 31 января 2011
  • ОС независимость
  • прохождение брандмауэра
  • веб-сервер - это уже хорошо понятная и в основном "решаемая" проблема с точки зрения распределения нагрузки, сбоя сервера и т. Д.
  • не нужно изобретать велосипед
...