Comparative review of selected Internet communication protocols
{\L}ukasz Kami\'nski, Maciej Koz{\l}owski, Daniel Sporysz, Katarzyna, Wolska, Patryk Zaniewski, Rados{\l}aw Roszczyk

TL;DR
This paper compares popular Internet communication protocols by implementing web servers in Python and benchmarking their performance, finding gRPC to be the most efficient and reliable, while GraphQL was the slowest and most problematic.
Contribution
It provides a practical comparison of REST, WebSocket, gRPC, GraphQL, and SOAP through implementation and benchmarking, highlighting their performance and usability differences.
Findings
gRPC was the most efficient and reliable protocol.
GraphQL was the slowest and most problematic to implement.
SOAP was excluded from benchmarking due to compatibility issues.
Abstract
With a large variety of communication methods and protocols, many software architects face the problem of choosing the best way for services to share information. For communication technology to be functional and practical, it should enable developers to define a complete set of CRUD methods for the processed data. The research team compared the most commonly used data transfer protocols and concepts in this paper: REST, WebSocket, gRPC GraphQL and SOAP. To do that, a set of web servers was implemented in Python, each using one of the examined technologies. Then, the team performed an automated benchmark measuring time and data transfer overhead for a set of defined operations: creating an entity, retrieving a list of 100 entities and fetching details of one entity. Tests were designed to avoid the results being interfered by database connection or docker-compose environment…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsService-Oriented Architecture and Web Services · Mobile and Web Applications
