亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:解釋 DumpRequest 和 DumpResponse HTTP/2

Golang:解釋 DumpRequest 和 DumpResponse HTTP/2

Go
鳳凰求蠱 2022-07-11 14:42:10
clientt := &http.Client{    Timeout: 30 * time.Second,}var tr = &http2.Transport{}clientt.Transport = tr我創建一個客戶端并發送 http/2 請求。使用 http2 傳輸,但在 DumpRequest 我看到 GET / HTTP/1.1 主機:www.xxxxq23.com在響應轉儲中,我看到 HTTP/2.0為什么請求使用 HTTP/1.1 ?如何更改為 HTTP/2.0
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

HTTP/2 是二進制的,而不是文本的,并且以二進制形式轉儲將是不可讀且無用的。這是有意設計的,并且有據可查

DumpRequest 在其 HTTP/1.x 線路表示中返回給定的請求。它只能由服務器用于調試客戶端請求。返回的表示只是一個近似值;初始請求的一些細節在解析為 http.Request 時會丟失。特別是,標頭字段名稱的順序和大小寫丟失。多值標頭中的值順序保持不變。HTTP/2 請求以 HTTP/1.x 形式轉儲,而不是其原始二進制表示形式。

如果 body 為 true,則 DumpRequest 也會返回正文。為此,它消耗 req.Body,然后用產生相同字節的新 io.ReadCloser 替換它。如果 DumpRequest 返回錯誤,則 req 的狀態未定義。

您可以在此處查看實施詳細信息


查看完整回答
反對 回復 2022-07-11
  • 1 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號