- http协议:是在tcp/ip协议之上进一步封装的一层协议,关注的是数据传输的格式是否规范,底层的数据传输还是运用了socket和tcp/ip。
- webservice是基于http协议的soap协议的封装和补充,如果你考虑公共稳定的接口,你可以努力的考虑一下。
- Socket:使用TCP/IP或者UDP协议在服务器与客户端之间进行传输的技术,是网络编程的基础。Socket 的连接是有状态的,一旦两边连接上了,将一直保持连接,除非人为断开。一般用于游戏,需要持续的网络畅通。Socket 是操作系统提供的对于传输层(TCP / UDP)抽象的接口,是一个编程概念,而 Websocket 与 HTTP 一样是一个成文的互联网协议。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
- Servlet:使用http协议在服务器与客户端之间通信的技术。是Socket的一种应用。
- Web Service和Servlet的区别
- Webservice和Socket的区别
- 其实 servlet和webservice不是一个层次上的东西 不可比
servlet定义的是一套interface
目的是实现 java在web上的动态访问(不知局限于http协议的 至少还有ftp协议)
webservice定义的是一套标准(SOAP/UDDI/WSDL... 比API更抽象),与语言无关 协议无关 平台无关
目的是实现基于service的组件(相对于EJB DCOM ....) - 二者基于不同层面;
- 网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等
而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。
webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。
因为他的通信协议和我们浏览网页的协议是相同的 - 详解http webservice socket的区别
- 不同层面的东西,所谓http的都是对socket进行了一次包装而已,后者更加底层,WebService是基于HTTP的
- WebSocket与HTTP的关系
- 都是一样基于TCP的,都是可靠性传输协议,都是应用层协议。
- WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。
WebSocket是需要握手进行建立连接的,在客户端-服务器通信的场景中使用的全双工协议,与HTTP不同,
它以ws://或wss://开头。它是一个有状态协议。