webservice
什么是webservice?
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册
什么是http?
HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等
webservice的优势
1.接口中实现的方法和要求参数一目了然
2.不用担心大小写问题
3.不用担心中文urlencode问题
4.代码中不用多次声明认证(账号,密码)参数
5.传递参数可以为数组,对象等...
6.webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型
7.Webservice的一个最基本的目的就是提供在各个不同平台的不同应用系统的协同工作能力。
http相对tcp的优势
HTTP 是应用层协议,TCP 是传输层协议(位于应用层之下),放在一起类比并不合适。应该对比 “标准 HTTP 协议” 还是 “自定义的协议(基于 TCP Socket)”
TCP长链接是一直连着不断开的。如果是TCP的话:
服务器端不是很好扩充,考验单台服务器的接入能力。服务器集群不是很好架设。
客户端,处理socket连接的那个线程要负责干各种事情,所有网络协议的逻辑集中在此,结构不太好搭。而http,结构就完全不同。
区别在于开发代价不同。http有大量现成架构,服务器,数据库,出了问题也不会全盘崩溃,调试代价小。
tcp必须自定义协议,然后自己处理;自己实现服务器,监听端口;遇到问题,自己打造一系列调试手段。自己动手造轮子,开发代价高了一个数量级。
最近正好在用http协议,是接手之前一个人做的,没办法代码重写,基于socket自定义协议对于移动开发快速迭代不合适,除非是一些比较底层的需求。估计像微信这样的也许会自定义协议,要不然带宽负荷太高。但是具体我也不了解。
所以能用http的地方,就不要用tcp。不过有的东西必须用tcp,比如网游,那是没办法的事情。
HTTP 协议的一个非常重要的优势在于穿越防火墙。
如果客户端到服务器之间有安全设备,那么可能唯一打开的端口就是TCP:80。
移动端的开发更是如此,你不想用户整天抱怨说访问不到你的服务器吧。