WebSocket là giao thức hai chiều, một giao thức song công được sử dụng trong cùng một kịch bản giao tiếp máy khách-máy chủ, không giống như HTTP, nó bắt đầu với ws: // hoặc wss: //. Nó là một giao thức trạng thái, có nghĩa là kết nối giữa máy khách và máy chủ sẽ tiếp tục tồn tại cho đến khi nó bị một bên (máy khách hoặc máy chủ) chấm dứt. Sau khi đóng kết nối bởi một trong hai máy khách và máy chủ, kết nối sẽ bị ngắt từ cả hai phía.
Hãy lấy một ví dụ về giao tiếp máy khách-máy chủ, có máy khách là trình duyệt web và máy chủ, bất cứ khi nào bắt đầu kết nối giữa máy khách và máy chủ, máy khách - máy chủ thực hiện bắt tay và quyết định tạo một kết nối mới và kết nối này sẽ tiếp tục duy trì cho đến khi bị chấm dứt bởi bất kỳ một trong hai. Khi kết nối được thiết lập và tồn tại, giao tiếp sẽ diễn ra bằng cách sử dụng cùng một kênh kết nối cho đến khi nó bị ngắt.
Sau khi máy khách-máy chủ bắt tay, máy khách-máy chủ quyết định kết nối mới để giữ cho nó tồn tại, kết nối mới này sẽ được gọi là WebSocket. Sau khi thiết lập liên kết giao tiếp và kết nối được mở, trao đổi tin nhắn sẽ diễn ra ở chế độ hai chiều cho đến khi kết nối vẫn tồn tại giữa máy khách - máy chủ. Nếu một trong hai (máy khách-máy chủ) chết hoặc quyết định đóng kết nối là do cả hai bên đóng. Cách thức hoạt động của socket hơi khác so với cách thức hoạt động của HTTP, mã trạng thái 101 biểu thị giao thức chuyển mạch trong WebSocket.
Ứng dụng web thời gian thực: Ứng dụng web thời gian thực sử dụng WebSocket để hiển thị dữ liệu ở đầu máy khách, dữ liệu này liên tục được gửi bởi máy chủ phụ trợ. Trong WebSocket, dữ liệu liên tục được đẩy / truyền vào cùng một kết nối đã được mở, đó là lý do tại sao WebSocket nhanh hơn và cải thiện hiệu suất ứng dụng.
Ví dụ trong trang web giao dịch, biến động giá và dữ liệu chuyển động được máy chủ phụ trợ liên tục đẩy đến máy khách bằng cách sử dụng kênh WebSocket.
Ứng dụng trò chơi: Trong ứng dụng trò chơi, dữ liệu được máy chủ liên tục nhận và nếu không làm mới giao diện người dùng, giao diện người dùng sẽ có hiệu lực trên màn hình, giao diện người dùng sẽ tự động được làm mới mà không cần thiết lập kết nối mới rất hữu ích trong ứng dụng trò chơi.
Ứng dụng trò chuyện: Ứng dụng trò chuyện sử dụng WebSocket để ổn định kết nối một lần duy nhất để trao đổi, xuất bản và phát tin nhắn giữa các thuê bao. Nó sử dụng lại cùng một kết nối WebSocket, để gửi và nhận tin nhắn và truyền tin nhắn 1-1.