Jawad Mehmood

Frontend Developer

Backend Developer

CRM & E-commerce Expert

Web-to-Print Specialist

Fullstack Developer

Blog Post

Modern_browsers_request_a_Web_Resource_using_uniform_resource_locators_to_retrieve_and_render_digita

May 29, 2026 crypto 20.05

How Modern Browsers Request a Web Resource Using URLs

How Modern Browsers Request a Web Resource Using URLs

The URL as the Entry Point for Resource Retrieval

Every interaction with the web begins when a user enters a uniform resource locator (URL) into the browser’s address bar. This string acts as a precise address for a web resource, such as an HTML page, image, or API endpoint. The browser immediately parses the URL to extract components like the scheme (HTTP or HTTPS), domain name, path, and query parameters. This parsing step is critical because it determines the protocol and target server for the subsequent request.

Once parsed, the browser checks its local cache for a previously stored copy of the resource. If found and still valid based on cache headers (like Cache-Control), the browser skips the network request entirely, loading the content from disk or memory. This reduces latency and saves bandwidth. If the cache misses or the resource has expired, the browser initiates a full network request to the domain’s IP address, resolved via DNS lookup.

Network Request: From DNS to HTTP Negotiation

The first technical hurdle is DNS resolution. The browser queries a DNS server to convert the human-readable domain (e.g., example.com) into an IP address (e.g., 93.184.216.34). Modern browsers maintain a DNS cache to speed up repeated lookups, and they often use prefetching techniques to resolve domains for links on the current page before the user clicks them. After obtaining the IP, the browser establishes a TCP connection using a three-way handshake.

HTTPS and TLS Handshake

For HTTPS URLs, the browser initiates a TLS handshake after the TCP connection. This involves verifying the server’s SSL certificate against a trusted certificate authority (CA). The browser negotiates encryption keys and cipher suites, ensuring that all data transmitted is encrypted and authenticated. This step adds initial latency but prevents man-in-the-middle attacks and data tampering.

With the secure channel established, the browser sends an HTTP request (usually GET for standard resources). The request includes headers like User-Agent (identifying the browser and OS), Accept (specifying preferred content types like text/html or application/json), and Cookie (for session persistence). The server processes this request and returns an HTTP response with a status code (e.g., 200 OK or 404 Not Found), headers (like Content-Type and Content-Length), and the resource body.

Rendering the Digital Content

Upon receiving the response, the browser’s rendering engine takes over. For HTML documents, the engine parses the markup into a Document Object Model (DOM) tree. Simultaneously, it fetches subresources referenced in the HTML-such as CSS stylesheets, JavaScript files, images, and fonts-using additional HTTP requests. Modern browsers prioritize these requests intelligently: critical CSS and script files are loaded early, while images are often lazily loaded until they enter the viewport.

The browser then constructs a CSS Object Model (CSSOM) from the stylesheets and combines it with the DOM to form a render tree. This tree contains only visible elements and their computed styles. The layout step calculates the exact position and size of each element on the screen, considering factors like viewport dimensions and box-model properties. Finally, the painting step converts the render tree into pixels on the display, applying layers, compositing, and GPU acceleration for smooth scrolling and animations.

FAQ:

What happens if the DNS lookup fails?

The browser displays a DNS error page, often suggesting the user check the domain name or network connection. It may also attempt fallback DNS servers.

How does a browser handle a 301 redirect?

The browser automatically follows the new URL provided in the Location header, updating the address bar and making a fresh request to the redirected resource.

Can a browser request a resource without using a URL?

No, a URL is the mandatory locator. Even bookmark clicks or script-generated requests rely on a URL internally to specify the target.

Why do browsers limit the number of concurrent connections per domain?

To prevent overwhelming the server and to comply with HTTP/1.1 standards (typically 6 connections per domain). HTTP/2 and HTTP/3 multiplex multiple requests over a single connection to bypass this limit.

Reviews

Alice M.

This article clarified how DNS and TLS work together. I finally understand why HTTPS adds a slight delay but improves security.

Bob K.

Great breakdown of the rendering pipeline. The explanation of the render tree and layout step was exactly what I needed for my web performance project.

Carol D.

I appreciated the detail on cache checking. It’s rare to see articles mention how browsers avoid redundant requests so clearly.

Write a comment