相対 HTTP リクエストで request.URL.Host と request.URL.Scheme が空白になるのはなぜですか?
Dec 17, 2024 am 01:33 AM開発サーバーの URL ホストとスキームの決定: 空白になるのはなぜですか?
相対パスから HTTP サーバーにアクセスする場合、そのまま開発環境ではよくあることですが、特定の URL 属性が空白で表示されることがあります。具体的には、request.URL.Host および request.URL.Scheme は空の値を返す場合があります。
なぜこれが起こるのですか?
相対 HTTP リクエスト。通常、次の場合にブラウザによって発行されます。ローカルでサーバーにアクセスすると、明示的なホストとスキームの情報が不足します。これは、リクエストにこれらの詳細が含まれる HTTP プロキシで使用される絶対 URL とは対照的です。相対リクエストの場合、http.Request.URL オブジェクトでは生の URL のみが使用可能です。
HTTP ホストへのアクセス
HTTP ホストを取得するには、 http.Request 構造体の Host 属性にアクセスできます。これにより、リクエストの Host ヘッダーで指定されたホスト名とポートが提供されます。
相対 URL と絶対 URL の区別
を呼び出すことで、リクエストで相対 URL が使用されているか絶対 URL が使用されているかを判断できます。 http.Request.URL の IsAbs() メソッド。 IsAbs() が false を返す場合、URL は相対的であり、ホストまたはスキーム情報は含まれません。
Netcat を使用した例
違いを示すために、netcat を使用できます。相対パスを使用して HTTP リクエストを送信します。
cat my-http-request-file | nc localhost 8080
my-http-request-file には次の内容が含まれている必要があります。 HTTP リクエストとしてフォーマットされます:
GET / HTTP/1.1 Host: localhost:8080
このリクエストはハンドラーに空の r.URL.Host 値と r.URL.Scheme 値を返します。
以上が相対 HTTP リクエストで request.URL.Host と request.URL.Scheme が空白になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

GOの実際のパフォーマンスを正確に反映するベンチマークを作成するにはどうすればよいですか?
