HTML5 실습 및 분석에서 WebSocket 소개

黄舟
풀어 주다: 2017-02-13 14:09:52
원래의
1931명이 탐색했습니다.

HTML5 WebSockets 사양은 WebSockets 프로토콜을 사용하여 웹 페이지가 원격 호스트와 양방향으로 통신할 수 있도록 하는 API를 정의합니다. WebSocket 인터페이스를 도입하고 네트워크의 소켓을 통한 전이중 통신 채널을 정의합니다. HTML5 WebSocket은 두 개의 연결을 유지함으로써 전이중 연결을 시뮬레이션하는 데 사용되는 상승 폴링 및 장기 폴링 솔루션 없이 불필요한 네트워크 트래픽과 대기 시간을 크게 줄여줍니다.

HTML5 WebSockets는 프록시 및 방화벽과 같은 네트워크 위험을 고려하여 모든 연결을 통한 스트리밍을 가능하게 하고 단일 연결에서 업스트림 및 다운스트림 통신을 지원할 수 있으므로 HTML5 WebSockets 기반 애플리케이션 서버는 부담을 줄이고 기존 머신은 더 많은 동시 연결을 지원합니다. 아래 그림은 브라우저가 전이중 WebSocket 연결을 사용하여 원격 호스트와 직접 통신하는 기본 WebSocket 기반 구조를 보여줍니다.


 HTML5 실습 및 분석에서 WebSocket 소개


애플리케이션은 일반적으로 롱 폴링 기본 라인 방어 방화벽 및 프록시를 사용합니다. 이 기술은 효과적이지만 대기 시간이 500ms 미만이거나 높은 처리량이 필요한 애플리케이션에는 적합하지 않습니다. Adobe Flash와 같은 플러그인 기반 기술도 일정 수준의 소켓 지원을 제공하지만 현재 WebSocket이 해결하는 프록시 및 방화벽 통과 문제가 있습니다.

WebSocket은 프록시 서버의 존재를 감지하고 해당 프록시를 통해 자동으로 터널을 설정합니다. 터널은 프록시 서버에 HTTP CONNECT 문을 실행하여 설정됩니다. 이 문은 프록시 서버에 특정 호스트 및 포트에 대한 TCP/IP 연결을 열도록 요청합니다. 터널이 설정되면 통신은 프록시를 통해 흐를 수 있습니다. HTTP/S는 비슷한 방식으로 작동하므로 SSL을 통한 보안 WebSocket은 동일한 HTTP 연결 기술을 활용할 수 있습니다. WebSocket은 최신 브라우저에서만 지원되기 시작했습니다(Chrome은 이제 기본적으로 WebSocket을 지원합니다). 그러나 이전 버전과 호환되는 구현을 통해 오늘날의 브라우저는 이 새로운 기술을 활용할 수 있습니다.

WebSocket(로컬 저장소 및 위치정보 등 HTML5 작업의 다른 부분과 유사)은 원래 HTML 5 사양의 일부였지만 사양 세트 내의 별도 표준 문서로 이동되었습니다. WebSocket은 IETF(Internet Engineering Task Force) 창시자인 WHATWG(Web Hypertext Application Technology Working Group)에 제출되었습니다. 표준화에 참여하는 저자, 전도사, 기업은 여전히 ​​WebSocket을 포함한 원래 기능 세트인 "HTML5"를 참조하고 있습니다. 더 많은 관련 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿