제어 오버헤드가 적습니다. 연결이 이루어진 후 서버와 클라이언트 간에 데이터를 교환할 때 프로토콜 제어에 사용되는 패킷 헤더는 상대적으로 작습니다. 확장이 없으면 서버-클라이언트 콘텐츠의 경우 헤더 크기는 2~10바이트(패킷 길이와 관련)이며, 클라이언트-서버 콘텐츠의 경우 추가 헤더를 4바이트 마스크에 추가해야 합니다. 매번 완전한 헤더를 전달하는 HTTP 요청과 비교하면 이 오버헤드가 크게 줄어듭니다.
더 강력해진 실시간 성능. 프로토콜은 전이중이므로 서버는 언제든지 클라이언트에 데이터를 적극적으로 보낼 수 있습니다. 서버가 응답하기 전에 클라이언트가 요청을 시작할 때까지 기다려야 하는 HTTP 요청과 비교할 때, Comet과 같은 유사한 긴 폴링 방법과 비교해도 지연이 훨씬 적습니다. 시간.
연결 상태를 유지하세요. HTTP와 달리 Websocket은 먼저 연결을 생성해야 하므로 상태 저장 프로토콜이 되며 후속 통신 중에 일부 상태 정보가 생략될 수 있습니다. HTTP 요청은 각 요청에 상태 정보(예: 신원 인증 등)를 전달해야 할 수도 있습니다.
더 나은 바이너리 지원. Websocket은 HTTP보다 바이너리 콘텐츠를 더 쉽게 처리할 수 있는 바이너리 프레임을 정의합니다.
확장 기능을 지원할 수 있습니다. Websocket은 확장을 정의하며 사용자는 프로토콜을 확장하고 일부 사용자 정의 하위 프로토콜을 구현할 수 있습니다. 예를 들어 일부 브라우저는 압축 등을 지원합니다.
더 나은 압축 효과. HTTP 압축과 비교하여 Websocket은 적절한 확장 지원을 통해 이전 콘텐츠의 컨텍스트를 상속할 수 있으며 유사한 데이터를 전송할 때 압축률을 크게 향상시킬 수 있습니다.
위 내용은 웹소켓의 특징은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!