>웹 프론트엔드 >JS 튜토리얼 >WebSocket 클라이언트 연결에 사용자 정의 HTTP 헤더를 추가할 수 있습니까?

WebSocket 클라이언트 연결에 사용자 정의 HTTP 헤더를 추가할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-15 03:32:09937검색

Can Custom HTTP Headers Be Added to WebSocket Client Connections?

WebSocket 클라이언트 API의 사용자 정의 HTTP 헤더

웹 플랫폼의 WebSocket API를 사용하면 지속적인 양방향 채널을 통해 클라이언트와 서버 간의 통신이 가능해집니다. 그러나 이 채널을 통해 HTTP 헤더를 보내는 경우 제한이 있을 수 있습니다.

사용자 정의 HTTP 헤더 추가

사용자 정의 HTTP 헤더는 타사 HTTP를 사용하여 추가할 수 있습니다. 이를 지원하는 헤더 클라이언트에서는 WebSocket API가 사용자 정의 헤더를 추가하는 직접적인 방법을 제공하지 않습니다.

WebSocket 헤더 제한

WebSocket 생성자는 경로 및 프로토콜 필드의 지정만 허용합니다. HTTP 경로(예: "GET /xyz") 및 프로토콜 헤더("Sec-WebSocket-Protocol")는 WebSocket 초기화 중에 설정할 수 있습니다.

"Sec-WebSocket-Protocol" 헤더는 다음과 같습니다. WebSocket 관련 인증에 사용되며 WebSocket 생성자의 두 번째 인수에서 파생됩니다. 예:

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

대체 인증/권한 부여 방법

사용자 정의 헤더를 추가할 수 없으므로 WebSocket 인증 또는 권한 부여를 위한 대체 방법이 권장됩니다.

  • 티켓팅 시스템: 서버가 티켓을 발행합니다. 연결 설정 중에 클라이언트가 전달하는 클라이언트에. 그런 다음 서버는 티켓의 유효성을 확인합니다.
  • URL/쿼리 문자열 인증: URL 또는 쿼리 문자열에 인증 토큰을 전달합니다.

지원 중단 기본 인증

기존에는 "Authorization" 헤더를 통해 기본 인증이 지원되었습니다. 그러나 이는 이제 더 이상 사용되지 않으며 최신 브라우저는 이 헤더를 지정하더라도 보내지 않습니다.

위 내용은 WebSocket 클라이언트 연결에 사용자 정의 HTTP 헤더를 추가할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.