專家
載入器
定義於 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 |
發生其他問題,無法以其中一種特定狀態進行分類。您可以選擇重試。 |
UNABLE_TO_PARSE |
2 |
HTTP 剖析錯誤。 |
頻道已關閉 |
3 |
表示管道 (客戶或內文傳送者) 已關閉。 |
連線 |
4 |
連線時發生錯誤。 |
期限已過 |
5 |
要求中指定的期限已過 |
資料表
重新導向目標
定義於 fuchsia.net.http/client.fidl
伺服器要求重新導向的說明。
HTTP 重新導向的語意會因用於產生重新導向的狀態碼而異。這個結構可確保載入器及其用戶端能夠解讀伺服器的重新導向回應。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
method |
Method
|
伺服器建議用於重新導向的 HTTP 方法。 |
2 |
url |
fuchsia.url/Url
|
伺服器建議進行重新導向的網址。 |
3 |
referrer |
fuchsia.url/Url
|
建議進行重新導向的伺服器參照網址。 |
要求資源
定義於 fuchsia.net.http/client.fidl
HTTP 要求。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
method |
Method
|
HTTP 方法 (如適用)。 預設為「GET」。 |
2 |
url |
fuchsia.url/Url
|
要載入的網址。 必填。 |
3 |
headers |
vector<Header>
|
其他 HTTP 要求標頭。 |
4 |
body |
Body
|
要求主體的酬載。對於 HTTP 要求,該方法必須設為「POST」或「PUT」。如果主體使用緩衝區,系統會自動新增 Content-Length 標頭。 |
5 |
deadline |
zx/Time
|
決定何時離開伺服器的回應。如未提供期限,實作將會提供合理的預設值。 |
回應資源
定義於 fuchsia.net.http/client.fidl
HTTP 要求的回應。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
error |
Error
|
如果回應導致網路層級錯誤,系統會設定這個欄位。 |
2 |
body |
handle<socket>
|
回應主體。 |
3 |
final_url |
fuchsia.url/Url
|
遵循重新導向後的回應最終到達網址。 |
4 |
status_code |
uint32
|
HTTP 狀態碼。 |
5 |
status_line |
vector<uint8>
|
HTTP 狀態行。 |
6 |
headers |
vector<Header>
|
HTTP 回應標頭。 |
7 |
redirect |
RedirectTarget
|
伺服器重新導向的說明 (如果有的話)。 |
聯合國
內文嚴格 資源
定義於 fuchsia.net.http/client.fidl
HTTP 要求的主體。
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
buffer |
fuchsia.mem/Buffer
|
包含完整要求或回應主體的緩衝區。 |
2 |
stream |
handle<socket>
|
包含串流要求或回應主體的通訊端。 |
別名
名稱 | 值 | 說明 |
---|---|---|
標題名稱 |
vector [fidl/MAX ]敬上 |
包含標頭名稱的位元組向量的友善別名。 |
HeaderValue |
vector [fidl/MAX ]敬上 |
包含標頭值的位元組向量的友善別名。 |
方法 |
string [1024 ]敬上 |