/ / Czy klient websocket w przeglądarce może wysyłać nagłówki? - javascript, java, http, websocket

Czy klient sieci Web w przeglądarce może wysyłać nagłówki? - javascript, java, http, websocket

W biurze toczy się debata na temat zdolności przeglądarki do wysyłania nagłówków uzgadniania w ramach ustanawiania połączenia z gniazdem internetowym.

Specyfikacja websocket wyjaśnia, że ​​nagłówki są możliwe. I rzeczywiście, w kodzie klienta innym niż przeglądarka ustawiam nagłówki uzgadniania i są one odbierane bez problemu.

Otwarta debata to: Czy przeglądarka internetowa wykorzystująca nagłówki javascript może być częścią uzgadniania? Specyfikacja wydaje się wskazywać, że nie ma nic przeciwko temu, ale nikt nie może znaleźć dokumentacji po stronie klienta, która mówi, jak to zrobić.

Istnieje wiele sprzecznych informacji. Jest to oczywiście możliwe, ponieważ jestem w stanie to zrobić bez problemu w Javie. Ale w przypadku Javascript nikt nie wie, jak to zrobić. Czy to ograniczenie przeglądarki?

Aby wyjaśnić, dlaczego moje pytanie różni się od innych: Czy niemożność zrobienia tego jest ograniczeniem domyślnych bibliotek JavaScript? Przeglądarka internetowa czy specyfikacja? Wygląda na to, że jest to tylko ograniczenie biblioteki

Odpowiedzi:

0 dla odpowiedzi № 1

Obawiam się, że interfejs API WebSocket w przeglądarkach internetowych nie pozwala na ustawianie niestandardowych nagłówków. Mimo to przeglądarka ustawia pliki cookie, jeśli takie istnieją.


0 dla odpowiedzi nr 2

Problem polega na tym, że standardowy interfejs API do tworzenia połączenia webSocket w przeglądarce nie zapewnia żadnego mechanizmu ustawiania niestandardowych nagłówków. Jest to więc ograniczenie interfejsu API przeglądarki webSocket.

Możesz kontrolować wysyłany adres URL, w tym kwerendęparametry i pliki cookie są wysyłane wraz z żądaniem, dzięki czemu można użyć ścieżki, parametrów zapytania lub plików cookie do przesłania dodatkowych informacji wraz z żądaniem połączenia.

WebSocket WebSocket(
in DOMString url,
in optional DOMString protocols
);