Hi folks There are many protocols in dubbo using HTTP in the remoting layer, for example
- hessain - http - jsonrpc - rest - webservice Among them, protocol="http" use the HttpInvoker designed by Spring Framework(ref: https://docs.spring.io/spring/docs/4.3.24.RELEASE/spring-framework-reference/htmlsingle/#remoting-httpinvoker-server), and its default serialize type is origin Java Serialize, such design determines that nowadays protocol="http" is not a cross-language & high-performance protocol. But the protocol="jsonrpc" is a saver of the cross-language feature. Almost every programing language supports json schema. For the above reasons, I suggest that dubbo should repalce replace the current protocol="http" with protocol="jsonrpc", and recommend people who want to use the cross-language feature or develop web-site applications in dubbo to use protocol="http".(waste the origin implementation of http protocol using Spring HttpInvoker) WHY NOT replace protocol="http" with protocol="rest"? Dubbo has made an attempt on the RESTful interface, but there is some difference between the REST architecture and the original RPC architecture of Dubbo. The difference is that the REST architecture needs the definition of resources and we should operate the resources using the basic HTTP methods —— GET, POST, PUT, DELETE. Dubbo needs to redefine the properties of the interface, which is a big burden on the original interface migration of Dubbo. In contrast, RESTful is more appropriate for calls between Internet systems, and RPC is more appropriate for calls within a system, so we used protcol="jsonrpc" which is more consistent with the Dubbo concept. How do you think about the migration - protocol="jsonrpc" => protocol="http" - origin protocol="http" => waste or rename to protocol="spring-httpinvoker"
