WebSocket
WebSocket은 웹 브라우저나 클라이언트 애플리케이션 및 웹 서버 애플리케이션이 전이중 연결을 사용하여 통신할 수 있게 하는 표준 프로토콜입니다. 제품은 WebSocket 1.1 스펙을 지원하는데, 이것은 메시지 핸들러를 지정하는 더 강력한 방법을 제공하기 위해 1.0 스펙에 빌드됩니다.
HTTP는 두 애플리케이션 사이의 수명이 길고 실시간인 전이중 통신에 적합하지 않습니다. 많은 경우 웹 서버 애플리케이션 또는 서블릿은 수명이 길고 실시간이며 전이중 대화의 클라이언트 브라우저 또는 애플리케이션과 통신하려고 합니다. 두 애플리케이션은 자유롭게 데이터의 읽기 및 쓰기를 수행하려고 합니다. 주식 거래자의 웹 브라우저에 변화하는 통화 환율을 계속해서 표시하는 애플리케이션을 예로 들 수 있습니다. 이 유형의 통신에 대한 현재 HTTP 기술 솔루션은 복잡하며 비효율적입니다. 브라우저와 서버 간의 지속적인 양방향 통신에 대한 HTTP 솔루션은 대부분 폴링 또는 단방향 트리픽만 처리하는 두 개의 열린 HTTP 연결 중 하나(또는 모두)로 구성됩니다.
WebSocket은 표준 HTTP 요청-응답 시퀀스를 사용하여 연결을 설정합니다. 연결될 때 WebSocket API는 비동기 전이중 방식으로 연결되는 데이터를 읽고 쓸 수 있도록 읽기 및 쓰기 인터페이스를 제공합니다. WebSocket은 양쪽에서 연결을 비동기식으로 닫는 데 필요한 인터페이스도 제공합니다.
WebSocket은 표준 HTTP 요청-응답 시퀀스를 사용하여 연결을 설정하므로 연결이 시작되면 HTTP 연결과 동일한 방식으로 방화벽 및 프록시를 통해 연결됩니다. WebSocket을 사용하려면 동일한 연결에서의 동시 읽기 및 쓰기를 포함한 전이중 통신이 필요합니다. 제품 웹 서버 플러그인은 전이중 연결을 지원하지만 다른 방화벽 및 프록시에 지원하려면 수정이 필요할 수도 있습니다. 또한 WebSocket은 보안 연결 및 데이터 전송을 위해 SSL을 사용할 수 있습니다. 이 프로토콜은 HTTP 프로토콜과 동일한 방법으로 SSL을 사용합니다.