Although there are similar questions, I was not able to find one that will summarize the different options of data transfer protocols and their pros and cons in matters of speed, security and reliability.
As a developer I have created a web service that on the Server Side generates one single file with the size ranging from 500Mb to 5Gb. I am examining the different options that I have for transferring the file to the client side.
As far as I know, the two most prominent solutions in the Transport Layer are TCP and UDP, with TCP offering more reliable transfer with a cost on time and UDP sacrificing reliability for speed.
In the Application Layer I know that implementations of UDP, offering reliable transfers exist, like RUDP and UDT.
It is very important to mention protocols that can be used without asking from the client to make installations or special configurations in order to take the data from the Server Side.
My questions are:
Does any application layer protocol based on UDP working out of the box on the client side, like HTTP or FTP?
Does any protocol based on TCP offers similar speeds with the UDP ones?
Do the UDP protocols offer a secure way of transferring Data like Https?
The objectives are
- Deliver the data without any missing package
- Deliver the data with a secure(encrypted) way
For the implementation i am currently using JAX-WS and Glassfish as application Server.