HTTP là lớp được xây dựng ontop của lớp TCP với một số tiêu chuẩn hóa việc truyền dữ liệu. Vì vậy, tự nhiên bằng cách sử dụng TCP socket sẽ ít nặng hơn so với sử dụng HTTP. Nếu hiệu suất là điều duy nhất bạn quan tâm về sau đó đồng bằng TCP là giải pháp tốt nhất cho bạn.
Bạn có thể muốn xem xét HTTP vì tính dễ sử dụng và tính đơn giản giúp giảm thời gian phát triển. Nếu bạn đang làm một cái gì đó có thể được tiêu thụ trực tiếp bởi một trình duyệt (thông qua một cuộc gọi AJAX) thì bạn nên sử dụng HTTP. Đối với một trình duyệt không hiện đại để trực tiếp tiêu thụ các kết nối TCP mà không cần HTTP, bạn sẽ phải sử dụng Flash hoặc Silverlight và điều này thường xảy ra đối với nội dung phong phú như video và/hoặc âm thanh. Tuy nhiên, nhiều trình duyệt hiện đại hiện nay (tính đến năm 2013) hỗ trợ API để truy cập tài nguyên mạng, âm thanh và video trực tiếp thông qua JavaScript. Điều duy nhất cần xem xét là tỷ lệ sử dụng của các trình duyệt web hiện đại trong số người dùng của bạn; xem caniuse.com để biết thông tin mới nhất về khả năng tương thích của trình duyệt.
Đối với điểm chuẩn, this là điều duy nhất tôi tìm thấy. Xem trang 5, nó có biểu đồ hiệu suất. Lưu ý rằng nó không thực sự so sánh táo với táo vì nó so sánh tùy chọn dữ liệu TCP/Binary với tùy chọn dữ liệu HTTP/XML. Điều gì đặt ra câu hỏi: loại dữ liệu nào là dịch vụ của bạn xuất ra? nhị phân (video, âm thanh, tệp) hoặc văn bản (JSON, XML, HTML)?
Trong hệ thống định hướng chung về hiệu suất như trong các lĩnh vực quân sự hoặc tài chính, có thể sẽ sử dụng các kết nối TCP thuần túy. Khi các công ty tập trung vào web nói chung sẽ chọn sử dụng HTTP và sử dụng IIS hoặc Apache để lưu trữ các dịch vụ của họ.
Tùy thuộc vào những gì bạn muốn làm. Bạn có biết thêm thông tin về dịch vụ mà ứng dụng web nói đến không? Yêu cầu một lần (tức là, câu hỏi, phản hồi) hay một cuộc trò chuyện xảy ra với một số câu hỏi và câu trả lời? –