專家
載入器
定義於 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]敬上 |