fuchsia.net.http

已新增:7

專家

載入器

定義於 fuchsia.net.http/client.fidl

HTTP 和 HTTPS 載入器。

載入器可以同時處理許多 HTTP 或 HTTPS 要求。載入器會追蹤所有待處理的要求,並在用戶端關閉載入器介面時取消所有要求。

Fetch

啟動指定的 HTTP 或 HTTPS 要求,追蹤重新導向,並傳回最終回應。

載入器會追蹤重新導向 (最多可達實作定義的上限),並以回覆這封郵件的形式傳回最終回應。如要取消要求,請關閉載入器介面,或關閉與 request 中包含的 event 對等項目。

要求

名稱類型
request Request

回應

名稱類型
response Response

開始

啟動指定的 HTTP 或 HTTPS 要求,並將所有中繼回應傳回給指定的用戶端。

Fetch 不同的是,Start 不會自動追蹤所有重新導向。 而是會將重新導向鏈結中的每個回應傳送至 LoaderClient

要求

名稱類型
request Request
client LoaderClient

載入器用戶端

定義於 fuchsia.net.http/client.fidl

Loader.Start 搭配使用的用戶端介面。

關閉基礎管道會取消相關的 HTTP 交易。

回應中

載入器收到 HTTP 回應時,載入器會呼叫該函式。

如果伺服器要求重新導向,response 資料表中的 redirect 就會說明要求的目標伺服器。如要追蹤重新導向,請回覆這封郵件。如果不想追蹤重新導向 請關閉基礎管道

要求

名稱類型
response Response

回應

<空白>

結構

定義於 fuchsia.net.http/client.fidl

HTTP 標頭欄位。

欄位類型說明預設
name HeaderName

標頭欄位的名稱。

無預設
value HeaderValue

標頭欄位的值。

無預設

表情符號

錯誤 strict 錯誤

類型:uint32

定義於 fuchsia.net.http/client.fidl

HTTP 交易期間發生錯誤。

名稱說明
1

發生其他問題,無法以其中一種特定狀態進行分類。您可以選擇重試。

2

HTTP 剖析錯誤。

3

表示管道 (客戶或內文傳送者) 已關閉。

4

連線時發生錯誤。

5

要求中指定的期限已過

資料表

重新導向目標

定義於 fuchsia.net.http/client.fidl

伺服器要求重新導向的說明。

HTTP 重新導向的語意會因用於產生重新導向的狀態碼而異。這個結構可確保載入器及其用戶端能夠解讀伺服器的重新導向回應。

序數欄位類型說明
method Method

伺服器建議用於重新導向的 HTTP 方法。

url fuchsia.url/Url

伺服器建議進行重新導向的網址。

referrer fuchsia.url/Url

建議進行重新導向的伺服器參照網址。

要求資源

定義於 fuchsia.net.http/client.fidl

HTTP 要求。

序數欄位類型說明
method Method

HTTP 方法 (如適用)。

預設為「GET」。

url fuchsia.url/Url

要載入的網址。

必填。

headers vector<Header>

其他 HTTP 要求標頭。

body Body

要求主體的酬載。對於 HTTP 要求,該方法必須設為「POST」或「PUT」。如果主體使用緩衝區,系統會自動新增 Content-Length 標頭。

deadline zx/Time

決定何時離開伺服器的回應。如未提供期限,實作將會提供合理的預設值。

回應資源

定義於 fuchsia.net.http/client.fidl

HTTP 要求的回應。

序數欄位類型說明
error Error

如果回應導致網路層級錯誤,系統會設定這個欄位。

body handle<socket>

回應主體。

final_url fuchsia.url/Url

遵循重新導向後的回應最終到達網址。

status_code uint32

HTTP 狀態碼。

status_line vector<uint8>

HTTP 狀態行。

headers vector<Header>

HTTP 回應標頭。

redirect RedirectTarget

伺服器重新導向的說明 (如果有的話)。

聯合國

內文嚴格 資源

定義於 fuchsia.net.http/client.fidl

HTTP 要求的主體。

序數Variant類型說明
buffer fuchsia.mem/Buffer

包含完整要求或回應主體的緩衝區。

stream handle<socket>

包含串流要求或回應主體的通訊端。

別名

名稱說明
標題名稱 vector[fidl/MAX]敬上

包含標頭名稱的位元組向量的友善別名。

HeaderValue vector[fidl/MAX]敬上

包含標頭值的位元組向量的友善別名。

方法 string[1024]敬上