I suppose a way to paraphrase this question is why can't HTTP just use UDP? What specific functionalities provided by the TCP are explicitly required by HTTP?
Among the two most common transport protocols on the Internet, TCP is reliable and UDP isn't. HTTP therefore relies on the TCP standard, which is connection-based. Before a client and server can exchange an HTTP request/response pair, they must establish a TCP connection, a process which requires several round-trips.
How does HTTP work? As a request-response protocol, HTTP gives users a way to interact with web resources such as HTML files by transmitting hypertext messages between clients and servers. HTTP clients generally use Transmission Control Protocol (TCP) connections to communicate with servers.
HTTP is an application layer protocol designed within the framework of the Internet protocol suite. Its definition presumes an underlying and reliable transport layer protocol, thus Transmission Control Protocol (TCP) is commonly used.
because transmission errors can be tolerated easily Explanation: When a host requests a web page, transmission reliability and completeness must be guaranteed. Therefore, HTTP uses TCP as its transport layer protocol.
HTTP is a Hypertext Transfer Protocol, whereas TCP full form is Transmission Control Protocol. HTTP is utilized to access websites, while TCP is a session establishment protocol between client and server. HTTP uses port 80 and TCP uses no port. HTTP doesn’t need authentication, whereas, TCP uses the TCP-AO. HTTP is Stateless but not session less.
For HTTP it runs via the TCP protocol because there is a session layer which requires interaction from the client and guaranteed delivery. Same goes for HTTPS. You’d use UDP for something that’s a lossy protocol and doesn’t require a session handshake like NTP or DNS.
TCP is a connection-oriented protocol which states a connection is established and maintained until the application data at each end have finished exchange. TCP breaks application data into packets. This packet delivers to the transport layer.
Ordering, non-duplication, integrity, pacing of large payloads, ... same as anybody else needs really. There was a move some years back to provide HTTP over UDP for tiny payloads that would fit into a single datagram, and ditto the responses, but most HTTP payloads are too big for one datagram so the point is lost.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With