BasichttpBinding против WSHttpBinding из WCF

Я хочу обновить данные клиента данными сервера и наоборот. В настоящее время я использую BasicHttpBinding, который работает быстрее, чем wsHttpBinding. Мое требование заключается в достижении:

Быстрая передача данныхБезопасное общение

В этом сценарии подходят две привязки BasicHttpBinding и wsHttpBinding. Итак, какую привязку я должен использовать? и в чем разница между привязкой BasicHttp и wsHttp?

Ответы на вопрос(3)

и, однако я считаю, что HTTPS обеспечит вам достаточную безопасность, если вы используете basicHttpBinding.

Также следует помнить, что wsHttpBinding ограничивает вашу совместимость, так как wsHttpBinding совместим только с клиентами, которые поддерживают WS- * (SOAP 1.2).

На мой взгляд, я бы придерживался basicHttpBinding, если только вам не нужны конкретные стандартные функции WS- *. С точки зрения WS-Security его функции включают в себя такие вещи, как шифрование на уровне сообщений (помимо шифрования на транспортном уровне, которое обеспечивает HTTPS). Для меня транспортное шифрование гарантирует, что ваше сообщение зашифровано при передаче по проводам, единственное преимущество наличия шифрования на уровне сообщения - это не необходимость затрат на использование безопасности на транспортном уровне, а просто необходимость более легкого шифрования в определенных областях сообщения.

Вот список спецификаций WS из Википедии для вашей информации:

http://en.wikipedia.org/wiki/List_of_Web_service_specifications

 BitMask77726 июл. 2011 г., 20:56
Безопасность на транспорте может быть полезной, когда неизвестно, что связь осуществляется по защищенному каналу точка-точка. Когда клиент отправляет сообщения службе и маршрутизируется через посредников, безопасность транспорта не всегда может быть гарантирована, и защита на уровне сообщений становится полезной опцией.
Решение Вопроса

wsHttpBinding, Он реализует все различные функции безопасности, такие как защита сообщений или транспорта, учетные данные клиента, предоставляемые в качестве учетных данных Windows, имя пользователя / пароль или сертификат. Он поддерживает надежный обмен сообщениями и многое другое - целый ряд стандартов WS *.

BasicHttpBinding это просто - очень очень простой. Это более или менее веб-сервисы ASMX - практически без настроек, без защиты (кроме маршрутизации по HTTPS).

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

Итак, вы вернулись к классическому компромиссу: вы можете быстро или безопасно - выбрать один. Не существует «волшебного» способа одновременного использования обоих - безопасность увеличивает накладные расходы и, следовательно, замедляет работу. Что для вас важнее: безопасная связь или быстрая связь?

 Derek W02 апр. 2014 г., 16:34
@MuraliMurugesan: Возможно, очень поздно, но для всех, кто читает это: да, это возможно - просто используйте режим безопасности:Message, Защита сообщений обеспечивает сквозную независимую от транспорта защиту.
 Murali Murugesan02 апр. 2014 г., 16:36
@DerekW, спасибо. Есть ли статья или пример для этого? Так что я могу читать дальше и понять больше
 Murali Murugesan02 апр. 2014 г., 17:01
@DerekW, большое спасибо. Я пойду по этим ссылкам
 Derek W02 апр. 2014 г., 16:50
@MuraliMurugesan: Вот обзор безопасности сообщений:msdn.microsoft.com/en-us/library/ms733137(v=vs.110).aspx и вот пример, где HTTPS не нужен (вам потребуется сертификат X.509 на сервере, поскольку он обеспечивает шифрование):msdn.microsoft.com/en-us/library/ms733131(v=vs.110).aspx
 Murali Murugesan07 окт. 2013 г., 16:54
Возможно ли реализоватьWSHttpBinding without SSL or https://?
 Jeevan Bhatt05 окт. 2010 г., 07:12
безопасность важнее для меня. можем ли мы реализовать ssl с basicHttpBinding или только wsHttpbinding подходит для обеспечения безопасности. Если мы сможем использовать ssl с basicHttpBinding, то будет существенная разница в производительности в привязках basicHttp и wsHttp.

такой как SSL, для безопасности. Это связано с тем, что любой тип защиты на уровне сообщений требует значительных ресурсов процессора при шифровании / подписывании.

Таким образом, вы можете просто использовать базовое связывание http с безопасностью транспорта для большинства сценариев без особого компромисса в производительности.

Если вы не используете какой-либо из более богатых протоколов WS * или сеансов и т. Д., То вы можете придерживаться базового http-связывания.

Ваш ответ на вопрос