HTTP protocol
Feature description
HTTP form-based remote invocation protocol, implemented by Spring’s HttpInvoker, supported by versions above 2.3.0
.
- Number of connections: multiple connections
- Connection method: short connection
- Transmission protocol: HTTP
- Transmission method: synchronous transmission
- Serialization: form serialization
- Scope of application: The size of incoming and outgoing parameter data packets is mixed, the number of providers is more than that of consumers, it can be viewed with a browser, and parameters can be passed in by form or URL, and file transfer is not supported for now.
- Applicable scenarios: services that need to be used by both application and browser JS.
Constraints
- Parameters and return values must conform to the Bean specification
scenes to be used
HTTP short connection, standardized and easy-to-read protocol, easy to connect to external systems, suitable for upper-level business modules.
How to use
Starting from Dubbo 3, the Http protocol is no longer embedded in Dubbo, and an independent module needs to be introduced separately.
<dependency>
<groupId>org.apache.dubbo.extensions</groupId>
<artifactId>dubbo-rpc-http</artifactId>
<version>1.0.0</version>
</dependency>
Configuration protocol
<dubbo:protocol name="http" port="8080" />
Configure Jetty Server (default)
<dubbo:protocol ... server="jetty" />
Configure Servlet Bridge Server (recommended)
<dubbo:protocol ... server="servlet" />
Configure DispatcherServlet
<servlet>
<servlet-name>dubbo</servlet-name>
<servlet-class>org.apache.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dubbo</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
If a servlet is used to dispatch the request
- The protocol port
<dubbo:protocol port="8080" />
must be the same as the port of the servlet container,- The context path of the protocol
<dubbo:protocol contextpath="foo" />
must be the same as the context path of the servlet application.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified January 2, 2023: Enhance en docs (#1798) (95a9f4f6c)