HttpBuildCache

API 文件HttpBuildCache

HTTP 建置快取的組態物件。快取條目透過 GET 請求載入,並透過 PUT 請求儲存。

成功的 GET 請求必須返回狀態碼為 200 (快取命中) 或 404 (快取未命中) 的回應,其中快取命中的回應應包含快取條目作為回應 body。成功的 PUT 請求必須返回任何 2xx 回應。

PUT 請求也可能返回 413 Payload Too Large 回應,以表明 payload 大於可接受的大小。當啟用 HttpBuildCache.isUseExpectContinue() 時,這非常有用。

重新導向回應可以使用 301、302、303、307 或 308 回應發出。重新導向至 PUT 請求的回應必須使用 307 或 308 才能重新執行 PUT。否則,重新導向將會以 GET 請求跟隨。

任何其他類型的回應都將被視為錯誤,導致遠端快取在建置的剩餘時間內停用。

當組態憑證時 (請參閱 HttpBuildCache.getCredentials()),它們會使用 HTTP Basic Auth 發送。

在建立 TCP 連線後,於請求傳輸期間失敗的請求將會自動重試。這包括連線中斷、讀取或寫入逾時,以及低階網路故障,例如連線重設。

屬性

屬性名稱描述
allowInsecureProtocol

指定是否可以透過不安全的 HTTP 連線與建置快取進行通訊。

allowUntrustedServer

指定是否可以與具有不信任 SSL 憑證的 HTTP 建置快取後端進行通訊。

enabled

建置快取是否已啟用。

push

給定的建置是否可以在建置快取中儲存輸出。

url

快取的 URI。

useExpectContinue

指定是否應針對儲存請求使用 HTTP expect-continue。此值預設為 false。啟用後,在嘗試之前會先檢查伺服器以確認儲存請求是否會成功。當可能處理可能會被伺服器以 413 Payload Too Large 回應拒絕的大型構件時,這特別有用,因為它可以避免傳輸大型檔案卻被拒絕的開銷。這種快速失敗行為的代價是成功請求的額外邊際開銷,這是由於初始檢查所需的額外網路通訊所致。注意:並非所有 HTTP 伺服器都支援 expect-continue。

方法

方法名稱描述
credentials(configuration)

組態用於存取 HTTP 快取後端的憑證。

腳本區塊

沒有腳本區塊

屬性詳細資訊

boolean allowInsecureProtocol

指定是否可以透過不安全的 HTTP 連線與建置快取進行通訊。

基於安全考量,這有意要求使用者在個別情況下選擇使用不安全的協定。

Gradle 有意不提供全域系統/gradle 屬性,以允許全面停用此檢查。

允許透過不安全的協定進行通訊,會使中間人能夠冒充目標伺服器,並讓攻擊者能夠 將惡意可執行程式碼提供到系統上。

另請參閱:想接管 Java 生態系統嗎?你只需要一個 MITM!

boolean allowUntrustedServer

指定是否可以與具有不信任 SSL 憑證的 HTTP 建置快取後端進行通訊。

HTTP 建置快取後端的 SSL 憑證可能不受信任,因為它是內部佈建的或自簽憑證。

在這種情況下,您可以組態建置 JVM 環境以信任憑證,或將此屬性設定為 true 以停用伺服器身分驗證。

允許與不受信任的伺服器進行通訊,可以在傳輸過程中保持資料加密,但會使中間人更容易冒充目標伺服器並捕獲資料。

如果伺服器是使用 HTTP 協定指定的 (即已停用 SSL),則此值無效。

boolean enabled

建置快取是否已啟用。

boolean push

給定的建置是否可以在建置快取中儲存輸出。

URI url

快取的 URI。

boolean useExpectContinue

指定是否應針對儲存請求使用 HTTP expect-continue。此值預設為 false。啟用後,在嘗試之前會先檢查伺服器以確認儲存請求是否會成功。當可能處理可能會被伺服器以 413 Payload Too Large 回應拒絕的大型構件時,這特別有用,因為它可以避免傳輸大型檔案卻被拒絕的開銷。這種快速失敗行為的代價是成功請求的額外邊際開銷,這是由於初始檢查所需的額外網路通訊所致。注意:並非所有 HTTP 伺服器都支援 expect-continue。

方法詳細資訊

void credentials(Action<? super HttpBuildCacheCredentials> configuration)

組態用於存取 HTTP 快取後端的憑證。