자바 스크립트 클라이언트 프로세스에서 클라이언트가 websocket 업그레이드 요청을하고 그 요청이 실패 할 때 서버가 반환하는 HTTP 상태 코드를 가져 오려고합니다.Java 클라이언트에서 불완전한 websocket 업그레이드 요청 처리
내 서버에서 HTTP 400을 반환하여 websocket 업그레이드가 성공하지 못했음을 나타냅니다.
내가 구글 크롬을 사용하고 그리고 난 개발자 콘솔을 열 때 나는 다음과 같은 메시지를 볼 수 있습니다
웹 소켓 연결에 'WSS를 : //'실패 : 오류 웹 소켓 핸드 셰이크 중에 예기치 않은 응답 코드 : 400
그러나,이 메시지를 포함하지 않는의 OnError 핸들러는, 그것은 1006 오류를 수신하지만, 폐쇄는 HTTP (400) 자바 스크립트 (STABLE)을 수행하는 방법
을 얻기의 결과로 발생한 것을 나타내는 것은 아닙니다 oper 핸들 핸드 셰이크 오류? 핸드 셰이크 오류가 발생했을 때 유익한 메시지를 클라이언트에게 제공하고 싶습니다.
아래에 websocket 오류를 넣었습니다.이 오류가 websocket 핸드 셰이크 오류의 결과임을 나타내는 데 사용할 수있는 내용이없는 것 같습니다.
Websocket Error: {"path":{"length":0},"cancelBubble":false,"returnValue":true,"srcElement":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"defaultPrevented":false,"timeStamp":1417828938039,"cancelable":false,"bubbles":false,"eventPhase":2,"currentTarget":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"target":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"type":"error"}
네, 유효하지 않은 인증 자격 증명 (예 : 쿼리 매개 변수로 전달 된 자격 증명)으로 인해 WebSocket 연결이 실패했는지 여부 또는 네트워크 오류 또는 기타 이유로 연결이 실패한 경우를 구분할 수없는 것으로 보입니다. 이 제한으로 인해 WebSocket 연결이 설정된 후 (표준 WebSocket 핸드 셰이크 대신) 보조 인증 (사용자 지정) 핸드 셰이크를 구현하여 인증을 수행해야했습니다. 성공/실패 상태에 대한 투명성이없는 신뢰할 수있는 인증을 구현하는 것은 현실적으로 불가능합니다. – Jon