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的補充模組,適用於處理大量並行連線的能力比原始資料吞吐量效能更重要的特殊情況。