HTTP est un calque construit ontop de la couche TCP pour certains ce normaliser la transmission de données. Alors, naturellement, à l'aide de sockets TCP sera moins lourde utilisant le protocole HTTP. Si la performance est la seule chose que vous vous souciez de simple, le protocole TCP est la meilleure solution pour vous.
Vous souhaitez mai à envisager HTTP raison de sa facilité d'utilisation et la simplicité, ce qui en fin de compte réduit les temps de développement. Si vous faites quelque chose qui peut être consommée directement par un navigateur (par le biais d'un appel AJAX), alors vous devez utiliser le protocole HTTP. Pour un non-navigateur moderne à consommer directement les connexions TCP sans HTTP, vous devez utiliser de Flash ou Silverlight et ce qui se passe normalement pour les riches de contenu, tels que la vidéo et/ou audio. Cependant, beaucoup de navigateurs modernes maintenant (2013) de support de l'API pour accéder au réseau, audio et vidéo des ressources directement via JavaScript. La seule chose à considérer est le taux d'utilisation des navigateurs web modernes parmi vos utilisateurs; voir caniuse.com pour les dernières infos concernant la compatibilité du navigateur.
Comme pour les indices de référence, c' est la seule chose que j'ai trouvé. Voir à la page 5, il est la représentation graphique de la performance. Notez qu'il n'a pas vraiment comparer des pommes avec des pommes, car il compare le protocole TCP/données Binaires option avec HTTP/XML des données de l'option. Ce qui amène la question: quel type de données sont vos services en sortie? binaire (vidéo, audio, fichiers) ou texte (JSON, XML, HTML)?
En général axés sur la performance du système, comme ceux de l'armée ou le secteur financier seront probablement utiliser de simples connexions TCP. Où que le web axé entreprises opteront pour utiliser le protocole HTTP et utiliser IIS ou Apache pour héberger leurs services.