1.1 執行請求
HttpClient最重要的功能就是執行HTTP方法。HTTP方法的執行涉及到一個或幾個HTTP請求和響應的交換,這通常在HttpClient内部處理。使用者提供執行的請求對象,HttpClient傳輸此請求到目标伺服器并傳回對應的響應對象或者在執行不成的情況下抛出異常。
很自然地,HttpClientAPI的主要入口點是定義了上述描述的協定的HttpClient接口。
下面是一個簡單的執行請求過程的示例:
1.1.1 HTTP請求
所有的HTTP請求都有一個包含方法名稱、請求URI和一個HTTP協定版本的請求線。HttpClient支援所有HTTP/1.1定義的方法,這些方法是:GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS。在HttpClient中和這些方法對應的類分别為HttpGet,HttpHead,HttpPost,HttpPut,HttpDelete,HttpTrace,HttpOptions。
URI(統一資源辨別符)标記了一個可被請求的資源,HTTP請求URIs由協定概述、主機名稱、資源路徑、以及其他可選的(端口、查詢參數)參數組成。
HttpClient提供URIBuilder工具類簡化請求URIs的建立。
輸出:
1.1.2 HTTP響應
HTTP響應是在伺服器接受并解析請求消息後傳回給用戶端的資訊。資訊的第一行由協定版本
、數字表示的狀态碼以及文本表示的狀态組成。
1.1.3 消息頭
一個HTTP消息可以包含一些描述諸如消息長度、消息類型等的消息屬性的頭部資訊,HttpClient
提供一些擷取、添加、删除以及列舉頭部資訊的方法。
最快的擷取所有消息頭部資訊的方式是使用HeaderIterator接口
HttpClient也提供了友善的方法把HTTP頭部消息解析成單個的元素。