美文网首页
httpclient changelog

httpclient changelog

作者: 文小叨_9caa | 来源:发表于2019-08-05 16:57 被阅读0次

httpclient的changelog链接为
https://github.com/apache/httpcomponents-client/blob/master/RELEASE_NOTES.txt

4.3
  • Support for Java 7 try-with-resources for resource management (connection release.)

  • Added fluent Builder classes for HttpEntity, HttpRequest, HttpClient and SSLContext instances.

  • Deprecation of preference and configuration API based on HttpParams interface in favor of constructor injection and plain configuration objects.

  • Reliance on object immutability instead of access synchronization for thread safety. Several old classes whose instances can be shared by multiple request exchanges have been replaced by immutable equivalents.

  • DefaultHttpClient, DecompressingHttpClient, CachingHttpClient and similar classes are deprecated in favor of builder classes that produce immutable HttpClient instances.

  • HttpClient builders now dynamically construct a request execution pipeline tailored specifically to the user configuration by physically excluding unnecessary protocol components.

  • There is now an option to construct a minimal HttpClient implementation that can only execute basic HTTP message exchanges without redirects, authentication, state management or proxy support. This feature might be of particular use in web crawler development.

  • There is now option to avoid strict URI syntax for request URIs by executing HTTP requests with an explicitly specified target host. HttpClient will no longer attempt to parse the request URI if it does not need to extract the target host from it.

4.4
  • More efficient stale connection checking: indiscriminate connection checking which results in approximately 20 to 50 ms overhead per request has been deprecated in favor of conditional connection state validation (persistent connections are to be re-validated only if a specified period inactivity has elapsed)

  • Native windows Negotiate/NTLM via JNA: when running on Windows OS HttpClient configured to use native NTLM or SPNEGO authentication schemes can make use of platform specific functionality via JNA and current user system credentials

  • Authentication cache thread-safety: authentication caches used by HttpClient is now thread-safe and can be shared by multiple threads in order to re-use authentication state for subsequent requests

  • Enhanced redesigned and rewritten default SSL hostname verifier with improved RFC 2818 compliance

  • Default SSL hostname verifier and default cookie policy now validate certificate identity and cookie domain of origin against the public suffix list maintained by Mozilla.org https://publicsuffix.org/list

  • Support for the latest HTTP state management specification (RFC 6265). Please note that the old cookie policy is still used by default for compatibility reasons. RFC 6265 compliant cookie policies need to be explicitly configured by the user. Please also note that as of next feature release support for Netscape draft, RFC 2109 and RFC 2965 cookie policies will be deprecated and disabled by default. It is recommended to use RFC 6265 compliant policies for new applications unless compatibility with RFC 2109 and RFC 2965 is required and to migrate existing applications to the default cookie policy.

4.5
  • Support for the HTTP/2 protocol and conformance to requirements and
    recommendations of the latest HTTP/2 protocol specification documents
    (RFC 7540, RFC 7541.)

    Supported features:

    ** HPACK header compression
    ** Stream multiplexing (client and server)
    ** Flow control
    ** Response push
    ** Message trailers
    ** Expect-continue handshake
    ** Connection validation (ping)
    ** Application-layer protocol negotiation (ALPN)
    ** TLS 1.2 security features

  • Improved conformance to requirements and recommendations of the latest HTTP/1.1 protocol specification documents (RFC 7230, RFC 7231.)

  • New connection pool implementation with lax connection limit guarantees and better performance under higher concurrency due to absence of a global pool lock.

  • Package name space changed to 'org.apache.hc.client5'.

  • Maven group id changed to 'org.apache.httpcomponents.client5'.

相关文章

网友评论

      本文标题:httpclient changelog

      本文链接:https://www.haomeiwen.com/subject/ehumdctx.html