Nepedia
Back to Discover
Advanced Reader
💻

HTTP

technology Maturity 5-7 Next article →

The Hypertext Transfer Protocol, or HTTP, is the fundamental application layer protocol for the World Wide Web. It enables distributed and collaborative hypermedia information systems to function across the internet.

Tim Berners-Lee CP 2
Tim Berners-Lee CP 2

Without HTTP, the data communication that allows us to browse websites would not exist. It works by using hypertext documents, which contain hyperlinks. These hyperlinks allow users to access different resources through simple actions like clicking a mouse or tapping a screen.

HTTP operates using a client-server model based on a request-response mechanism. A transaction begins when a client submits a request to a server. A web browser is a common example of a user agent, which is software that accesses web content. Other user agents include mobile apps, voice browsers, and web crawlers used by search providers. The server attempts to satisfy the request and returns a response. This response describes the status of the request and may contain a requested resource, such as an HTML document.

Http request telnet ubuntu
Http request telnet ubuntu

To manage these communications, HTTP uses specific identifiers and organizational tools. A web resource is located using a Uniform Resource Locator, or URL. These URLs use Uniform Resource Identifier (URI) schemes known as http or https. The protocol is designed to allow intermediate network elements to improve communications. For example, web cache servers can deliver content on behalf of upstream servers to improve response times. HTTP proxy servers can also help clients without globally routable addresses by relaying messages to external servers. Some HTTP headers are managed end-to-end between the client and server, while others are hop-by-hop for intermediate nodes.

The protocol has evolved through several distinct versions since its inception. HTTP/0.9 was introduced in 1991. HTTP/1.0 arrived in 1996, followed by HTTP/1.1 in 1997. In HTTP/1.0, a separate Transmission Control Protocol (TCP) connection was required for every single resource request. HTTP/1.1 improved this by introducing persistent connections. This allowed a single TCP connection to be reused for multiple requests, such as images or stylesheets. This change reduced latency by avoiding the overhead of constantly establishing new connections.

Modern versions like HTTP/2 and HTTP/3 offer even greater efficiencies. HTTP/2, which is supported by 71% of websites, uses a compressed binary representation for metadata called headers. It also uses multiplexing to allow many concurrent requests through one TCP/IP connection. This helps solve the problem of head-of-line blocking. HTTP/3 is the newest major version and uses the QUIC transport protocol over UDP instead of TCP. First added to Chrome and Firefox in 2019, HTTP/3 can be over three times faster than HTTP/1.1 in some cases. Currently, HTTP/3 is used on 36.9% of websites.

Technical details regarding transport and data exchange are vital to how these versions differ. HTTP/1.1 and earlier versions typically rely on TCP to ensure a reliable transport layer. However, HTTP/3 uses QUIC to provide reliability on top of the User Datagram Protocol (UDP). Because HTTP is a stateless protocol, the server does not need to retain information about a user between different requests. If a web application needs to remember a user, it must use other mechanisms like HTTP cookies or hidden form variables. This allows the protocol to remain lightweight and efficient for millions of users.

Security and authentication are also integrated into the protocol framework. The secure version of HTTP is known as HTTPS, and it is used by more than 85% of websites. HTTP provides various authentication schemes, such as basic and digest access authentication. These use a challenge-response mechanism where the server issues a challenge before providing content. This framework allows for extensible access control managed by the client and server software. By combining these complex layers of transport, security, and request management, HTTP keeps the global web running smoothly.

645 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (2)
File:Http request telnet ubuntu.png
Http request telnet ubuntu.png
File:Tim Berners-Lee CP 2.jpg
Tim Berners-Lee CP 2.jpg
More to explore

🔬 Go deeper

More advanced topics to explore

🪜 Step back

Simpler topics to build understanding

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.