首頁 >後端開發 >Golang >為什麼Go的開發伺服器HTTP請求中Host和Scheme為空?

為什麼Go的開發伺服器HTTP請求中Host和Scheme為空?

Linda Hamilton
Linda Hamilton原創
2024-12-20 07:27:09280瀏覽

Why Are Host and Scheme Blank in Go's Development Server HTTP Requests?

Go開發伺服器中Host和Scheme為空

在Go中,利用開發伺服器處理HTTP請求時,常常會遇到http .Request.URL 的Host 和Scheme 屬性的問題空白。

原因:

直接存取開發伺服器(不使用HTTP 代理程式)時,通常會以相對格式發出請求:

在在這種情況下,Go HTTP 請求解析器會將URL 解釋為相對URL,導致Host 和Scheme為空properties.

存取HTTP 主機:

要從請求中擷取HTTP 主機,請造訪http.Request 結構體的Host 屬性,如以下程式碼所示:

確定URL類型:

要確定URL 是絕對還是相對,請利用URL 結構體的IsAbs() 方法:

Netcat 範例:

要測試行為,請使用以下內容建立HTTP請求文件內容:

並執行以下指令:

以上是為什麼Go的開發伺服器HTTP請求中Host和Scheme為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn