Apache HttpComponents Core doesn't cover all facets of the HTTP protocol, but only the main basics, all that's needed to support basic communications between a client and a server.
The library can be used for building both client-side and server-side HTTP services, supporting the two main I/O models:
- blocking (serial, synchronous, based on Java I/O)
- non-blocking (parallel, asynchronous, based on Java NIO)
The library tries to uphold a balance between performance and ease of use, while also remaining a self-contained component that can be added and reused in multiple applications and instances.
Apache HttpComponents Core has also spawned a similar project, Apache HttpComponents Client, an HTTP client-side agent.
What is new in this release:
- PrivateKeyStrategy does not work with NIO SSL.
- VersionInfo#getUserAgent reports incorrect Java version.
- Non-blocking connection should not trigger end-of-stream callback as long as there is still data in the session input buffer. This can cause a series of short pipelined requests to fail prematurely in case of an unexpected connection termination by the opposite endpoint.
What is new in version 4.4.2:
- PrivateKeyStrategy does not work with NIO SSL.
- VersionInfo#getUserAgent reports incorrect Java version.
- Non-blocking connection should not trigger end-of-stream callback as long as there is still data in the session input buffer. This can cause a series of short pipelined requests to fail prematurely in case of an unexpected connection termination by the opposite endpoint.
What is new in version 4.4.1:
- PrivateKeyStrategy does not work with NIO SSL.
- VersionInfo#getUserAgent reports incorrect Java version.
- Non-blocking connection should not trigger end-of-stream callback as long as there is still data in the session input buffer. This can cause a series of short pipelined requests to fail prematurely in case of an unexpected connection termination by the opposite endpoint.
What is new in version 4.4:
- Support for SSL re-negotiation with NIO.
- Out of sequence HTTP response causes NPE in HttpAsyncRequestExecutor.
- Race condition if connection request succeeds and times out at the same time.
- Fixed synchronization issue in blocking and non-blocking connection pool implementations
What is new in version 4.2.2:
- NIO length delimited content encoder incorrectly handles messages larger than 2GB.
- Fixed regression in DefaultConnectionReuseStrategy causing it to incorrectly flag connections as non-reusable after a 204, 205 or 304 response.
- Fixed regression in HttpAsyncRequestExecutor causing it to handle 204, 205 and 304 responses incorrectly by returning a message with an enclosed content body.
What is new in version 4.2.1:
- This is a patch release that fixes a number of non-critical bugs found since 4.2.
What is new in version 4.2:
- The most notable features included in this release are connection pool components for blocking and non-blocking HTTP connections and new asynchronous client and server side protocol handlers.
What is new in version 4.1.3:
- This release fixes a critical regression introduced in version 4.1.2. Under special circumstances non-blocking SSL sessions may fail to terminate correctly if the opposite end shuts down connection without sending a 'close notify' message causing an infinite loop in the I/O dispatch thread.
What is new in version 4.1.2:
- IOSession#setSocketTimeout() method does not reset the timeout count.
- Non-blocking SSL I/O session can terminate prematurely causing message body truncation when message content is chunk coded and the connection is closed on the opposite end.
- Fixed incorrect results produced by DefaultConnectionReuseStrategy when handling response messages whose content entity has been decoded or modified by a protocol interceptor.
What is new in version 4.1.1:
- This is a patch release that fixes a number of non-critical issues found since release 4.1.
- This release also marks the end of support for Java 1.3. As of release 4.2 HttpCore will require Java 1.5 for all its components.
What is new in version 4.1:
- DefaultConnectingIOReactor leaks a socket descriptor if the session request fails.
- The ChunkEncoder could request for a negative buffer limit causing an IllegalArgumentException.
- SSLIOSession#isAppInputReady() does not check the status of the session input buffer.
- EntityUtils#toString() and EntityUtils#toByteArray() to return null if HttpEntity#getContent() is null.
- Fixed incorrect handling of HTTP entities by non-blocking LengthDelimitedDecoder when the Content-Length value is larger than Integer.MAX_VALUE.
What is new in version 4.1 Beta 2:
- This is the second BETA release of HttpCore 4.1. This is mainly a bug fix release that addresses a number of non-critical bugs.
Comments not found