httpclient簡介

Apache HttpComponents™項目負責創建和維護一個專注於HTTP和相關協議的低級Java組件工具集。

該項目在Apache軟件基金會( http://www.apache.org )下運行,並且是更大的開發人員和用戶社區的一部分。

超文本傳輸協議(HTTP)可能是當今互聯網上使用的最重要的協議。 網絡服務,支持網絡的設備以及網絡計算的發展繼續擴大了HTTP協議在用戶驅動的Web瀏覽器之外的作用,同時增加了需要HTTP支持的應用程序的數量。

設計用於擴展,同時爲基本HTTP協議提供強大的支持,構建HTTP感知的客戶端和服務器應用程序(如Web瀏覽器,Web Spider,HTTP代理,Web服務傳輸庫或利用或支持Web服務的系統)的任何人都可能感興趣的HttpComponents 擴展分佈式通信的HTTP協議。

HttpCore 是一組低級HTTP傳輸組件,可用於以最小的佔用空間構建定製的客戶端和服務器端HTTP服務。 HttpCore支持兩種I/O模型:基於經典的Java I/O和基於Java NIO的非阻塞事件驅動的I/O模型來阻塞I/O模型。

阻塞I/O模型可能更適合數據密集型,低延遲情況,而非阻塞模型可能更適合高延遲情況,其中原始數據吞吐量不如在處理數千個同時HTTP連接 一種資源高效的方式。

HttpClient是基於HttpCore的HTTP/1.1兼容的HTTP代理實現。 它還爲客戶端認證,HTTP狀態管理和HTTP連接管理提供可重用組件。 HttpComponents Client是Commons HttpClient 3.x的繼任者和替代者。 強烈建議Commons HttpClient的用戶進行升級。

Asynch HttpClient 是基於HttpCore NIO和HttpClient組件的HTTP/1.1兼容HTTP代理實現。 它是Apache HttpClient的補充模塊,適用於處理大量併發連接的能力比原始數據吞吐量性能更重要的特殊情況。