Package net.jini.jeri.http

Provides implementations of the Endpoint and ServerEndpoint abstractions that use HTTP messages sent over TCP sockets as the underlying communication mechanism.

See:
          Description

Class Summary
HttpEndpoint An implementation of the Endpoint abstraction that uses HTTP messages sent over TCP sockets (instances of Socket) for the underlying communication mechanism.
HttpServerEndpoint An implementation of the ServerEndpoint abstraction that uses HTTP messages sent over TCP sockets (instances of ServerSocket) for the underlying communication mechanism.
 

Package net.jini.jeri.http Description

Provides implementations of the Endpoint and ServerEndpoint abstractions that use HTTP messages sent over TCP sockets as the underlying communication mechanism. HttpEndpoint instances 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 SocketFactory for customizing the type of Socket to use. HttpServerEndpoint instances 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 ServerSocketFactory for customizing the type of ServerSocket to use.

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.

HTTP mapping

HttpEndpoint and HttpServerEndpoint map OutboundRequest and InboundRequest instances to HTTP request/response messages: request data is transmitted as the entity-body of an HTTP POST request, while response data is transmitted as the entity-body of 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.

HTTP proxying

To determine whether or not requests should be sent through an HTTP proxy, HttpEndpoint consults the same set of system properties used by HttpURLConnection: The values of the system properties above are resampled for each new outbound HTTP message.

HTTP authentication

HttpEndpoint supports both basic and digest HTTP authentication methods, specified in RFC 2617. Like HttpURLConnection, it obtains authentication parameters (e.g., username, password) from the Authenticator class.

Constraint support

HttpEndpoint and HttpServerEndpoint support the transport layer aspects of at least the following constraints: (Note that ClientMaxPrincipal, ClientMaxPrincipalType, ClientMinPrincipal, ClientMinPrincipalType, ServerMinPrincipal, DelegationAbsoluteTime, and DelegationRelativeTime constraints are trivially supported if ClientAuthentication.YES, ServerAuthentication.YES, and Delegation.YES are not supported.)

Since:
2.0
Version:
2.0