我想询问一下,使用Web服务的客户端应用程序是否可以向Web服务发送大量(54 MB)数据?客户端应用程序是否也必须是Web服务?如果是,则将数据作为对来自Web服务的请求的响应发送,以及我们如何能够从Web服务发送确认收据
我是网络服务的新手,所以任何帮助或方向都会非常有用。
答案 0 :(得分:1)
向Web服务发送大量(54 MB)数据?
是的,对于大公司来说这是可能的并且很常见。然而,做出了一些决定,这有助于优化并可能加速传输,如
数据传输格式/协议:您可以通过为有效负载选择正确的数据格式来节省邮件负载的大小。用于Web服务数据传输的两种最流行的数据格式(否则称为协议)是JSON和XML(以及扩展SOAP,基于XML的消息传递协议)。 JSON是一个更轻量级的选项(尽管它的应用程序有些限制),而XML是一个更重(但更通用的选项)。
数据传输协议:轻量级传输协议还可以帮助节省邮件传输效率和速度。在这方面,REST是轻量级路由的首选传输协议。实际上,大多数Web服务都是基于HTTP的,但Web服务范例为您提供了广泛的自由度,可以通过各种传输协议(SMTP,RMI是选项)向Web服务发送请求,前提是您确定Web服务能够实现了解您发送数据的传输协议
处理二进制数据:Web服务消息通常以文本/字符类型的有效负载传输。在处理二进制数据(图像,文件等)时,您必须对选项更具选择性(读取:谨慎),因为为二进制数据选择错误的数据传输类型将导致数据(消息)膨胀。 SOAP消息传输协议格式在这方面提供了几个选项。如果消息包含二进制数据,您可以调整standards and concrete implementations of these standards以优化消息的大小。
客户端应用程序是否也必须是Web服务?
没有。 Web服务中的关键字是 service ,即您要提供的应用程序/系统客户端。您的责任最终是通过预定的渠道以预定的格式向服务发送格式正确的数据(并期望根据您正在使用的服务类型对您的请求做出可选的响应)。除非你明确消费的服务定义了你的系统的要求,所以发送另一条消息以确认早期的响应(在我看来这是一个灾难性的糟糕设计),你没有义务这样做。