ServerEndpointabstractions that use HTTP messages sent over TCP sockets as the underlying communication mechanism.
HttpEndpointinstances can be used by clients to initiate calls over HTTP; each instance contains the host name and TCP port number to which to connect, as well as an optional
SocketFactoryfor customizing the type of
HttpServerEndpointinstances are used to listen for and receive incoming calls over HTTP; each instance contains the name of the listening host and the number of the TCP port on which to listen, as well as an optional
ServerSocketFactoryfor customizing the type of
Note that providing socket factories which produce SSL sockets does
not result in endpoints which are fully HTTPS capable. HTTPS support
is offered by the
net.jini.jeri.ssl security provider.
InboundRequestinstances to HTTP request/response messages: request data is transmitted as the
entity-bodyof an HTTP POST request, while response data is transmitted as the
entity-bodyof the corresponding HTTP response message. When possible, HTTP 1.1 persistent connections and chunked transfer coding are employed. For information on HTTP, refer to RFC 2616.
HttpEndpointconsults the same set of system properties used by
http.proxyHost: if specified, the value of this property is interpreted as the host name of the HTTP proxy to use. If
http.proxyHostis not specified, then the
proxyHostsystem property is consulted as a fallback; if it is not specified either, then HTTP proxying is disabled (i.e., all HTTP messages are sent directly to the target host of the given
proxyHostis set, then the (integer) value of
http.proxyPortsystem property is used as the port number on which to connect to the HTTP proxy; if unspecified, then the
proxyPortproperty is consulted as a fallback. If neither
proxyPortis specified (but
proxyHostis), then the HTTP proxy port number defaults to 80.
http.nonProxyHosts: if specified, the value of this property is interpreted as a list of host name patterns, each delimited by the '|' character. Individual host name patterns may be literal host names/addresses, or partial host names/addresses containing the '*' character as a wildcard. The '*' wildcard matches arbitrary (including zero-length) spans of characters. If
http.nonProxyHostsis specified and the name of the target host for a given outbound message matches at least one of the patterns, then messages to that host will not be sent through the HTTP proxy.
HttpEndpointsupports both basic and digest HTTP authentication methods, specified in RFC 2617. Like
HttpURLConnection, it obtains authentication parameters (e.g., username, password) from the
HttpServerEndpointsupport the transport layer aspects of at least the following constraints:
ConstraintAlternativesif at least one element is supported
DelegationRelativeTimeconstraints are trivially supported if
Delegation.YESare not supported.)