WebSocket 클라이언트 연결에 사용자 정의 HTTP 헤더를 추가할 수 있습니까?
Dec 15, 2024 am 03:32 AMWebSocket 클라이언트 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









