Rumah >hujung hadapan web >tutorial js >Bolehkah Pengepala HTTP Tersuai Ditambah pada Sambungan Pelanggan WebSocket?

Bolehkah Pengepala HTTP Tersuai Ditambah pada Sambungan Pelanggan WebSocket?

Linda Hamilton
Linda Hamiltonasal
2024-12-15 03:32:09937semak imbas

Can Custom HTTP Headers Be Added to WebSocket Client Connections?

Pengepala HTTP Tersuai dalam API Klien WebSocket

API WebSocket dalam platform web membolehkan komunikasi antara pelanggan dan pelayan melalui saluran dwiarah yang berterusan. Walau bagaimanapun, apabila menghantar pengepala HTTP melalui saluran ini, mungkin terdapat pengehadan.

Penambahan Pengepala HTTP Tersuai

Sementara pengepala HTTP tersuai boleh ditambah menggunakan HTTP pihak ketiga klien pengepala yang menyokongnya, API WebSocket tidak menyediakan kaedah langsung untuk menambah tersuai pengepala.

Sekatan Pengepala WebSocket

Pembina WebSocket hanya membenarkan spesifikasi laluan dan medan protokol. Laluan HTTP (cth., "GET /xyz") dan pengepala protokol ("Sec-WebSocket-Protocol") boleh ditetapkan semasa pemulaan WebSocket.

Pengepala "Sec-WebSocket-Protocol", yang boleh digunakan untuk pengesahan khusus WebSocket, diperoleh daripada hujah kedua pembina WebSocket. Contohnya:

var ws = new WebSocket("ws://example.com/path", "protocol");

Kaedah Pengesahan/Kebenaran Alternatif

Memandangkan pengepala tersuai tidak boleh ditambah, kaedah alternatif untuk pengesahan atau kebenaran WebSocket disyorkan:

  • Sistem Tiket: Pelayan mengeluarkan tiket ke klien, yang dilalui klien semasa persediaan sambungan. Pelayan kemudiannya mengesahkan kesahihan tiket.
  • Pengesahan Rentetan URL/Pertanyaan: Lulus token pengesahan dalam URL atau rentetan pertanyaan.

Penangguhan Pengesahan Asas

Pengesahan asas ialah sebelum ini disokong melalui pengepala "Kebenaran". Walau bagaimanapun, ini kini ditamatkan dan penyemak imbas moden tidak menghantar pengepala ini walaupun ia dinyatakan.

Atas ialah kandungan terperinci Bolehkah Pengepala HTTP Tersuai Ditambah pada Sambungan Pelanggan WebSocket?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn