Một trong những mục tiêu thiết kế cốt lõi của Websockets là nó cho phép cả giao thức HTTP và Websocket được truyền thông qua cùng một cổng. Nó đạt được điều này bằng cách yêu cầu rõ ràng khách hàng thực hiện bắt tay Websocket với yêu cầu Nâng cấp HTTP. Theo cách này, máy chủ có thể xử lý kết nối yêu cầu HTTP tiêu chuẩn cũng như yêu cầu Nâng cấp HTTP hiện được nâng cấp thành kết nối song công hai chiều liên tục.
Vì vậy, có, đây chắc chắn là một trường hợp sử dụng hợp lệ, tuy nhiên việc bạn NÊN làm điều này cho ứng dụng cụ thể của bạn là một vấn đề hoàn toàn khác. Websockets rất hữu ích và có ý nghĩa khi bạn có các tình huống mà máy chủ phải có khả năng gửi dữ liệu không mong muốn tới máy khách (nguồn cấp dữ liệu trực tiếp). Giao thức HTTP và các dịch vụ REST rất hữu ích khi bạn muốn chặn dữ liệu khách hàng đồng bộ.
Nếu các yêu cầu của bạn là như vậy cả hai đều có ý nghĩa cho ứng dụng của bạn thì bằng mọi cách bạn nên sử dụng cả hai. Tuy nhiên, nếu tương tác duy nhất của bạn với máy chủ là nguồn cấp dữ liệu trực tiếp thì các dịch vụ REST không phù hợp. Tôi nghĩ rằng dễ gỡ lỗi nên xếp hạng khá thấp về tầm quan trọng về các thuộc tính chất lượng hệ thống mà bạn nên thiết kế kiến trúc của mình.