I can transfer the data from my application(assume java application) through either of three protocols i.e. http/TCP/UDP
HTTP example for java client is
TCP example for java client is
UDP example for java client is
I understand HTTP works at application while TCP and UDP works at transport layer.
My understanding :-
HTTP In HTTP client, high level which abstracts the socket layer . It can also with DNS instead of ip address. It has its own rules like GET/POST request. headers, etc. API will structure the data for me per HTTP rules. HTTP will also manage the required encoding(part of presentation layer) and manage the session(like when connection needs to be closed)
TCP In TCP client, api is dealing directly with socket layer . It needs to deal ip address. It does not have specific rules like HTTP above. It just collects the data from application and send it across in chunks reliably in ordered fashion
UDP In UDP client is like TCP only but with less reliability and better speed.
Is my understanding correct ?