WebSocket クライアント API の HTTP ヘッダー
HTTP ヘッダーのカスタマイズは、この機能をサポートする HTTP ヘッダー クライアントで実現できることが一般に知られています。しかし、具体的に Web プラットフォームの WebSocket API を使用してこれを実現するにはどうすればよいでしょうか?
それは可能ですか?
要するに、答えは いいえ。パスとプロトコル フィールドのみを指定できます。
詳しい説明
JavaScript WebSocket API には、追加ヘッダーを設定するための組み込みメソッドはありません。ただし、WebSocket コンストラクターの初期化中に HTTP パス (「GET /xyz」) とプロトコル ヘッダー (「Sec-WebSocket-Protocol」) を指定できます。
Sec-WebSocket-Protocol ヘッダー。 WebSocket 固有の認証に使用され、オプションの 2 番目の引数から導出されます。コンストラクター:
var ws = new WebSocket("ws://example.com/path", "protocol"); var ws = new WebSocket("ws://example.com/path", ["protocol1", "protocol2"]);
考えられる解決策
WebSocket の認証/認可を処理する一般的なアプローチは、チケット システムを使用することです。ここで、WebSocket クライアントをホストするページはサーバーからのチケットを要求し、それを接続設定 (URL/クエリ文字列、プロトコル フィールド、または接続確立後の最初のメッセージなど) に含めます。次に、サーバーはチケットの有効性を検証し、合格した場合は接続を承認します。
以上がWebSocket API で HTTP ヘッダーをカスタマイズできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。