webservice与webapi的区别,WebService、WCF和WebApi的区别和特点
webservice与webapi的区别,WebService、WCF和WebApi的区别和特点详细介绍
本文目录一览: WebAPI 和 webservice的区别
webapi用的是http协议,webservice用的是soap协议
webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作
http soap关系
http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法
一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。
soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。
不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。
关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。
WCF和WEB API我该选择哪个?
1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF 。
2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。
3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API 。
4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API。
WebAPI 和 WebService的区别
Web Service: 1、它是基于SOAP协议的,数据格式是XML 2、只支持HTTP协议 3、它不是开源的,但可以被任意一个了解XML的人使用 4、它只能部署在IIS上 Web API: 1、这是一个简单的构建HTTP服务的新框架 2、在.net平台上Web API 是一个开源的
WebAPI与传统的WebService有哪些不同
ebAPI 采用 REST 架构,相对于 WebService 来说,极大的减轻了开发人员的负担,毕竟不是每个开发人员都了解 Web Service 协议。
因为你用不到 Web Service 协议的特性,因此你也不必创建这类应用来迎合别人,但是又要让别人和你交互,那么最低限度的按照 REST 架构来设计接口,这将极大的减轻你的工作负担。
可以看一下http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-REST-and-Web-Service.html
两者都是服务,只是表现形式存在一些差异
webapi多用于基于http请求的服务应用,比如说移动服务端或者需要提供第三方API 服务的场景下。
webservice也可以应用于webapi所在的场景,但是如果是我的选择,我一般是做为内部服务的使用,好比如果一个系统我会用wcf/webservice作为内部子系统间的服务通信,而webapi用于外部服务的请求~
个人理解,webapi和webservice并没有绝对的应用场景,相对来说根据场景分析那种技术更简洁,更能有效的帮助到你才是关键
WebService和Webapi的区别
一个是程序
一个是接口供调用的
WebApi是基于纯粹的http协议,
webservice是基于soap协议(比简单的http协议更高级)。
WebApi有取代webservice的趋势,至少,非必要,一般我也不会优先选择webservice。
WebService与WebApi的区别
1 基于SOAP协议的,数据格式为XML 2 只支持HTTP协议 3 不是开源的,但可以被任意一个了解XML的人使用 4 只能部署在IIS上
SOAP :简单对象访问协议Simple Object Access Protocol,传输层 ,,XML传输消息 WSDL :Web Server Description Language :Web Server描述语言(元数据),给客户端生成代理类的一个描述信息 UDDI :提供了一组基于标准的规范用于描述和发现服务,统一描述,发现和集成(UDDI-Universal Descript,Discovery,Integration),提供注册和查找服务 客户端在UDDI注册表(Registry)查找服务,取得服务的WSDL描述,通过SOAP调用服务。
1 是简单的 构建HTTP服务的新框架 2 在.net平台上WebApi是一个开源的,理想的,构建REST-FUL服务的技术 3 不想WCF REST Server 它可以使用HTTP的全部特点(URI,request/response头,缓存,版本控制,多种内容格式) 4 支持MVC的特征。像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。 4 可以部署在IIS和应用程序上 6 轻量级框架,并且对限制带宽的设备,比如智能手机等支持的很好 7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。 8、Web API非常适合构建移动客户端服务
1、 需要Web Service但是不需要SOAP 2、 需要在已有的WCF服务基础上建立non-soap-based http服务 3、 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置 4、 发布的服务可能会被带宽受限的设备访问 5、 希望使用开源框架,关键时候可以自己调试或者自定义一下框架 6、如果服务需要在http协议上,并且希望利用http协议的各种功能 7、如果服务需要被各种客户端(特别是移动客户端)调用
webapi多用于基于http请求的服务应用,比如说移动服务端或者需要提供第三方API 服务的场景下 webservice也可以应用于webapi所在的场景,一般是做为内部服务的使用,好比如果一个系统用wcf/webservice作为内部子系统间的服务通信,而webapi用于外部服务的请求。
WebAPI与传统的WebService有哪些不同
在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API。在.net平台下,你有很多的选择来构建一个HTTP Services。我分享一下我对Web Service、WCF以及Web API的看法。
Web Service
1、它是基于SOAP协议的,数据格式是XML
2、只支持HTTP协议
3、它不是开源的,但可以被任意一个了解XML的人使用
4、它只能部署在IIS上
WCF
1、这个也是基于SOAP的,数据格式是XML
2、这个是Web Service(ASMX)的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.
3、WCF的主要问题是,它配置起来特别的繁琐
4、它不是开源的,但可以被任意一个了解XML的人使用
5、它可以部署应用程序中或者IIS上或者Windows服务中
WCF Rest
1、想使用WCF Rest service,你必须在WCF中使用webHttpBindings
2、它分别用[WebGet]和[WebInvoke]属性,实现了HTTP的GET和POST动词
3、要想使用其他的HTTP动词,你需要在IIS中做一些配置,使.svc文件可以接受这些动词的请求
4、使用WebGet通过参数传输数据,也需要配置。而且必须指定UriTemplate
5、它支持XML、JSON以及ATOM这些数据格式
Web API
1、这是一个简单的构建HTTP服务的新框架
2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术
3、不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)
4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮
5、它可以部署在应用程序和IIS上
6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好
7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。
WCF和WEB API我该选择哪个?
1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF
2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。
3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API
4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API
webservice和api的区别
webservice和api的区别:webservice是一种分布式系统架构,它使用http协议来建立客户端和服务器之间的连接,可以分发和接收数据;而API是一种接口,它定义了应用程序如何与其他程序或服务交互,可以提供服务,并将数据传输给客户端。拓展:webservice一般由XML组成,它可以使用SOAP,WSDL或RESTful的技术来传输数据;而API则使用JSON或XML等数据格式来实现数据传输。webservice提供的是一种完整的解决方案,可以解决客户端和服务器之间的通信问题;而API则只提供一种接口,仅仅用于解决客户端和服务器之间的数据交互问题。
WebService、WCF和WebApi的区别和特点
Web Service :Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务 1.)它是基于SOAP协议的,数据格式是XML 2.)只支持HTTP协议 3.)它不是开源的,但可以被任何一个了解XML的人使用 4.)它只能部署到IIS上
WCF :是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术 1.)它也是基于SOAP的,数据格式是XML 2.)它是Web Service的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS等 3.)WCF配置较为繁琐 4.)它不是开源的,但可以被任意一个了解XML的人使用 5.)它可以部署到应用程序中或IIS及Windows服务中
Web Api :与WCF REST Service不同在于,Web API利用Http协议的各个方面来表达服务 1.)在.net平台上Web Api是一个开源的、理想的、构建REST-ful服务的技术 2.)它可以使用HTTP的全部特点,比如URIs、request/response头,缓存,版本控制,多种内容格式 3.)它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试 4.)它可以部署在应用程序和IIS上 5.)这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好 6.)Response可以被Web API的MediaTypeFormatter转换成Json、XML 等格式
WebApi和MVC有什么区别
在新出的MVC中,增加了WebAPI,用于提供REST风格的WebService,新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models、Views、Controllers等文件夹和Global.asax文件。Views对于WebAPI来说没有太大的用途,Models中的Model主要用于保存Service和Client交互的对象,这些对象默认情况下会被转换为Json格式的数据迚行传输,Controllers中的Controller对应于WebService来说是一个Resource,用于提供服务。和普通的MVC一样,Global.asax用于配置路由规则。
对于WebAPI来说它最初被设计为和WCF一样的客户端、服务端两套结构我们到现在乊所以还没有提到客户端是因为我们的请求别的方式来封装成HTTP请求戒接收HTTP相应的比如AJAX和Form表单提交。