In the previous Topic, we discussed the architecture of the web browser on a superficial level. In this Topic, it’s time to dive in.
While it’s important to understand the interplay between different layers and engines and user interface features, the browser wouldn’t be very useful if it didn’t actually fetch content from servers all around the internet.
Servers are machines connected to the internet designed to provide content upon request. The web browser can request all sorts of content from a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response., ranging from HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source files to stylesheetsCascading Stylesheets, or CSS, is a web technology that describes how the web page should look like and, up to a certain point, respond to interactions. If the HTML document defines the content, then CSS describes how that content should be structured, aligned, and painted in the browser., from images to script librariesAnother word for a file that contains code which can be utilized by downloading the library into the application. For example, when the web browser loads JavaScript files from vendors, those are frequently called libraries., and from audio to video.
The most fundamental request–response dialog is associated with the navigation action.
When you navigate to a web page, the browser sends a request for the web content to a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response.. Which web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. it connects with is determined by the domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name associated with the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response..
Don’t miss this fact!
The web experience is built around requests (dispatched by the web browser), responses (returned by the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response.), and renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page., where the web browser paints or executes the resource in the server response.
What follows is a walkthrough of this process. It starts when the user types a web address into the address bar of the web browser, and it ends when the user (hopefully) sees the page fully loaded in the viewportThe area of the web page or app visible to the user at any given time. It is constrained by the size of the browser window and the resolution of the user's device. of the browser.
The key parts of this exchange are:
- The browser is the clientA machine connected to the internet that sends requests to a server. A web browser would be a typical example of a client, as it sends requests to web servers. that wants to navigate to a URLUniversal Resource Locator, the main method of encoding internet addresses for web browsers to send requests to. (web address).
- If the URLUniversal Resource Locator, the main method of encoding internet addresses for web browsers to send requests to. is legit, it points to an HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. resource on a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response..
- The web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. sends a response to the browser with the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. resource in the response body.
- The web browser takes this HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. resource and starts renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. it into an interactive, dynamic web page.
- Once all the resources referenced in the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. are loaded, the page load is complete and the process ends.
At almost every step of the way, there are important lessons to be learned for anyone who works in technical marketing.
Step 1: The navigation action
The user opens the web browser, clicks the address bar, and types in the address:
https://www.teamsimmer.com/
This is an absolute URLUniversal Resource Locator, the main method of encoding internet addresses for web browsers to send requests to.. It comprises the following parts:
https
(followed by the separator://
) is the protocolThe HTTPS or HTTP part of a URL is the protocol that establishes whether the request should be sent securely (HTTPS) or insecurely (HTTP). Other protocols you might see on the web include mailto (for sending emails) and ftp (for transferring files). of the request. The s at the end indicates that this request should be transferred using secure, encryptedWhen information is encrypted, it is obfuscated in such a way that no one without the encryption key should be able to determine what the data actually comprises. pathways.www.teamsimmer.com
is a three-level domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name.- The top-level domainThe most generic part of the domain name in the hostname component of the URL. The top-level domain can be, for example, a country name (.fi, .se, .co.uk), a generic name (.com, .net, .org), or something more adventurous (.baby, .farm, .holiday). is
.com
. - Under this domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server., the name
teamsimmer
has been reserved and bought by a private company (Simmer, in this case). - Finally,
www
is the subdomainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. of this privately owned main domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server.. All three parts are used to identify which web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. this domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name points to in the domain name systemThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination. (DNSThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination.).
- The top-level domainThe most generic part of the domain name in the hostname component of the URL. The top-level domain can be, for example, a country name (.fi, .se, .co.uk), a generic name (.com, .net, .org), or something more adventurous (.baby, .farm, .holiday). is
- The
/
at the end is the resource indicator that instructs the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. which resource is being requested. If the path ends in a slash, as this one does, then the request is typically implicitly for a root HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source file.
Because the user entered the URLUniversal Resource Locator, the main method of encoding internet addresses for web browsers to send requests to. in the address bar of the browser, this is a navigation action. There are many different types of resource loads, but a navigation action is almost always a request for an HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source file on a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response..
HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. is HyperText MarkupIn web technologies, markup is the process of "marking up" a document with tags or similar codes. This process can be formalized in languages like HTML or XML. Language. It’s a programming language that informs the web browser about the structure, design, and functionality of the web page that was loaded. The HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source file is a set of instructions for how to build, renderRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page., and activate the web page the user sees.
Deep Dive
The anatomy of a URL
A typical web URLUniversal Resource Locator, the main method of encoding internet addresses for web browsers to send requests to. is constructed with these components:
- ProtocolThe HTTPS or HTTP part of a URL is the protocol that establishes whether the request should be sent securely (HTTPS) or insecurely (HTTP). Other protocols you might see on the web include mailto (for sending emails) and ftp (for transferring files). establishes whether the request happens behind secure HTTPS (HyperText Transfer ProtocolThe HTTPS or HTTP part of a URL is the protocol that establishes whether the request should be sent securely (HTTPS) or insecurely (HTTP). Other protocols you might see on the web include mailto (for sending emails) and ftp (for transferring files). – the communication protocolThe HTTPS or HTTP part of a URL is the protocol that establishes whether the request should be sent securely (HTTPS) or insecurely (HTTP). Other protocols you might see on the web include mailto (for sending emails) and ftp (for transferring files). of the web) or insecure HTTP. Luckily, you don’t really see the latter anymore.
- HostnameThe URL component that contains the domain name (and optional port) of the web server. The hostname can also be an IP address. locates the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response., and it has to include at least the top-level domainThe most generic part of the domain name in the hostname component of the URL. The top-level domain can be, for example, a country name (.fi, .se, .co.uk), a generic name (.com, .net, .org), or something more adventurous (.baby, .farm, .holiday). name (e.g. .com) and the naked domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name (e.g. teamsimmer). It can also include a subdomainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. (e.g. www).
- Port would come right after the hostnameThe URL component that contains the domain name (and optional port) of the web server. The hostname can also be an IP address. (www.teamsimmer.com:443) to add detail to the address, but this is rarely used in regular navigation.
- Path is a route to a resource endpoint on the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response..
- Query stringQuery strings can encode additional information for web server using key-value pairs that are separated with the ampersand (&). can comprise multiple key-value pairsKey-value pair is a generic term used to describe the contents of an object. An object is a data structure that can have zero or more key-value pairs. Each object can have just one of any given key, and the key always needs to point to some value. that add detail to the requested resource.
- FragmentA URL component that solely exists in the web browser – it is not communicated to the web server when requests are dispatched. Usually fragments are used to navigate directly to certain places on a content page. can optionally be used to encode information that is only available in the browser (the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. cannot read the fragmentA URL component that solely exists in the web browser – it is not communicated to the web server when requests are dispatched. Usually fragments are used to navigate directly to certain places on a content page.), for example: #content would instruct the browser to jump to an element flagged with the anchor “content”.
The protocolThe HTTPS or HTTP part of a URL is the protocol that establishes whether the request should be sent securely (HTTPS) or insecurely (HTTP). Other protocols you might see on the web include mailto (for sending emails) and ftp (for transferring files)., hostnameThe URL component that contains the domain name (and optional port) of the web server. The hostname can also be an IP address., and optional port also combine to create what’s known as the URL originThe part of the URL that comprises the protocol, hostname, and optional port. For example, https://handbook.teamsimmer.com is the URL origin of this site.. The “origin” is often used as a logical boundary for many web-based processes, which want to limit information from being shared across origins.
URLs aren’t used just for navigation – they are also used to load any resources that a web page would instruct the browser to load.
For example, whenever you see an image on the page, it is loaded from a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. using a URLUniversal Resource Locator, the main method of encoding internet addresses for web browsers to send requests to.. This URLUniversal Resource Locator, the main method of encoding internet addresses for web browsers to send requests to. would point to an image file or a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. resource that returns an image file.
Step 2: The request is dispatched
When the user types this address and presses enter, the request dispatch begins.
One of the first things the browser needs to do is check which web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. the domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name www.teamsimmer.com
is pointing to. This is done through the Domain Name SystemThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination., or DNSThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination., which is the “address book” of the internet.
Once the corresponding web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. is found, the browser and the server initiate a complex dialog of handshakes and protocols which seek to establish trust between the two parties.
The browser needs to trust that the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. is legitimate, and the server needs to trust that the request comes from a trusted source.
If all goes well, the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. eventually receives the request.
Step 3: The web server responds
What the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. responds with depends on the request itself.
For a navigational request, the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. needs to locate the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source file in its file system (for static sites) or generate the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. dynamically for the response (for dynamic sites).
Static sites typically have the bulk of the resources available in a file system. All the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. needs to do is locate the file the request is asking for and attach it to the response.
Dynamic websites generate the response from templates, using dynamically generated content. A file named index.html
, for example, wouldn’t exist in the file system. Instead, there might be a source file like index.php
that dynamically initiates a server-side process, where the resource is generated based on the metadataMetadata is additional data about the data itself. For example, in an analytics system the "event" describes that action the user took, and metadata about the event could contain additional information about the user or the event itself. available in the request.
Static sites are often very fast, because there’s no extra computation required from the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. to serve the file. However, they lack the flexibility of dynamic sites, where the contents of a requested resource might change depending on, for example, if the user is logged in or not.
Many modern content distribution systems employ a hybrid approach, where both static and dynamic content are utilized to build the response back to the request source.
In any case, the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. generates the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source for the response, assigns a status code to the response, and adds additional metadataMetadata is additional data about the data itself. For example, in an analytics system the "event" describes that action the user took, and metadata about the event could contain additional information about the user or the event itself. to the response headers where necessary.
Once the response is ready, it is dispatched back to the request source (the web browser).
Ready for a quick break?
Now’s a good time to take a small break – walk around for 5 minutes and have a glass of water. 😊
Step 4: The page is rendered
When the web browser receives the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source file in the response, the renderRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. process starts.
The browser runs through instructions in the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. file line by line, starting from the very top.
The purpose of renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. is to convert the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. instructions into a dynamic web page the user can view and interact with.
Many of these HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. instructions detail the layout, text, and styles of the content itself. This HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. is rendered in a tree-like structure, where elements can be nested within each other.
Some of the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. instructions comprise additional resource loads. For example, for every image on a page, the web browser needs to go through the request-response-render process again. Same for any JavaScriptJavaScript is the main language of the dynamic web. The web browser renders the HTML source file into a dynamic document that can be interacted with using JavaScript. or stylesheetCascading Stylesheets, or CSS, is a web technology that describes how the web page should look like and, up to a certain point, respond to interactions. If the HTML document defines the content, then CSS describes how that content should be structured, aligned, and painted in the browser. files that need to be loaded in the browser.
While the page becomes interactive early on in the renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. process, it’s important to note that until the entire HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source has been rendered, the page load is still in progress.
If you have a very resource-heavy site, the page load can take a long time to complete. This might have a direct impact on processes that come at the tail end of the page load, such as analytics measurement, because often visitors are impatient and will move on from the page before it has completely loaded.
Deep Dive
Asynchronous loading
The browser rendersRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. content in a single thread. This means that the browser must renderRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. each line of content completely before moving to the next. Compare this with a multi-thread process where operations can run in parallel.
Because of the single thread, if any one of the lines of code takes an inordinate amount of time to renderRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page., the page load process will seem very slow and content is revealed in chunks rather than fluidly and seamlessly.
For this reason, it’s important to orchestrate these extra resource loads so that the page renderRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. doesn’t have to wait for potentially slowly loading images and scripts.
AsynchronousWhen a resource is loaded asynchronously, the web browser does not need to wait for its download to complete. Instead, the browser continues the render process until the resource has been downloaded, at which point the browser will start rendering it. loading is the answer to this problem. With asynchronousWhen a resource is loaded asynchronously, the web browser does not need to wait for its download to complete. Instead, the browser continues the render process until the resource has been downloaded, at which point the browser will start rendering it. loading, the browser starts to load the image or the script, but it doesn’t wait for the download to complete before moving on with the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page.. Instead, as soon as the download is complete, the browser returns to renderRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. the loaded file.
This gives an illusion of seamless renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page., but it’s important to understand that even if content is loaded asynchronously, its renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. still happens line-by-line. So while the actual download of the image doesn’t necessarily interrupt the page renderRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page., once the image has been downloaded it still needs to be painted on the screen, which will again interrupt the renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. of the rest of the document.
Don’t miss this fact!
Users are impatient. If they don’t find what they need at a glance, they might navigate away from the page before the page load is complete. If your data collection processes are configured to happen at page load time, it’s possible they will never take place because of this.
Step 5: The page load is complete
Once all the HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. has been rendered from the opening <html>
tagNormally, tag references an HTML element (or node). In a marketing context, tags are used to denote HTML elements and JavaScript snippets specifically designed for collecting data to marketing vendors. to the closing </html>
tagNormally, tag references an HTML element (or node). In a marketing context, tags are used to denote HTML elements and JavaScript snippets specifically designed for collecting data to marketing vendors., and once all the asynchronously loaded resources have been rendered and executed, the page load is complete.
This means that the spinner next to the site name in the browser tab stops spinning, and the page is fully interactive to the user.
However, this doesn’t mean that loading additional resources is completely done.
Many web pages load content even after this initial page load. For example, an online store might have a list of products that loads additional items as soon as you scroll to the end of the list.
This is called lazy loadingLazily loaded content is loaded dynamically, usually when the browser user scrolls to the content so that it appears in the viewport. Lazy loading helps make the initial page load process lighter and faster., and it’s a smart way to make the initial page load as fast as possible. Only the elements that the user can see are loaded.
Once the user clicks a link to navigate away from the page or closes the browser window, the entire page is unloaded from browser memory to save resources.
This unloading means that every single new page load needs to start the process from scratch. There is no persistent memory in the browser itself to always keep the document alive even when the user isn’t actually browsing it.
However, there are cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. mechanisms which do “remember” the content for a period of time to avoid having to load all the content again and again from remote servers.
Don’t miss this fact!
The web is stateless. Information on one page is not persisted to the next page unless specific storage mechanisms (see the next Topic) or cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. are in use.
Caches help to ease the workload
The web browser uses cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. to avoid having to run through complicated and costly processes over and over again, if the result of the process is expected to be identical for each load.
Think of a cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. as your storage cupboard for frequently used household items. Instead of having to go to the store every single time you need a disinfectant, you can simply open your cupboard to use the one you already have. At some point the liquid will expire, at which point you need to revisit the store to get a new one.
The same process applies to cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. on the web. Frequently accessed content can be temporarily hosted in different cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. repositories, whose sole purpose is to make the fetching and renderingRendering happens when the web browser starts to convert the HTML document and its associated resources into the dynamic document the user sees and interacts with when visiting a web page. content a faster and less jarring experience.
Example
Your device has a DNSThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination. cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster., where web addresses that have already been resolved to a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. are stored. That way the browser doesn’t have to query DNSThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination. to see which server any given domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name points to – it can just pull this information from the cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster..
The browser has a local cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster., which stores entire web pages for a short period of time. If you hit the reload button in the browser, or if you press the back button to navigate back to a previous page, it’s likely that the content loads really fast. That’s because it’s loaded from the cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. – the browser doesn’t have to make any resource requests to web servers.
Some websites use dedicated cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. services to load content from an edge server. For example, instead of loading large images from the image server every single time, they can be loaded from the edge cacheServices like Cloudflare can be used to cache frequently loaded resources from the "edge" of the network, as close to the users as possible, instead of having to fetch it across the web. This can result in amazing performance boosts for HTTP requests and resource loads. instead, which is typically optimized for blazing fast resource delivery.
The biggest problem with cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. is that they might prevent the user from seeing new content.
Example
If you run a news website, and you make a critical mistake with an important news item, you need to invalidate all cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. when you publish the update. Otherwise, visitors who already visited the content page might only see the cachedCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. version and not the important update.
CachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. do have a lifetime which determines when they expire, but sometimes it’s imperative to clear the cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. immediately.
Key takeaway #1: DNS is the address book of the internet
DNSThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination., or the Domain Name SystemThe domain name system (or DNS) is the address book of the internet. It maps all (existing) internet domain names to a server or some other destination., maps domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. names to server machines connected to the internet. When you type a domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name into the web browser’s address bar, you are actually instructing the browser to resolve the IP addressAn Internet Protocol address is attached to every single machine connected to a network, including the public internet. that domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name is mapped to. If the domainDomain names are stored in the domain name system (DNS) and are used to map a human-readable name (such as www.teamsimmer.com) to a web server. name is valid, the IP addressAn Internet Protocol address is attached to every single machine connected to a network, including the public internet. should then locate a web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. to which the request is dispatched.
Key takeaway #2: A web page is more than its HTML source
Even though the web serverA machine connected to the World Wide Web, which is purpose-built to respond to HTTP requests from clients and for sending resources in response. returns an HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. source file for navigational requests, this is just the starting point for how the web page is actually rendered in the browser. The HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page. is parsed for instructions on how to build the page, but the final product is a dynamic document, built with a combination of HTMLHyperText Markup Language (HTML) is used to describe how web documents should be rendered by the web browser. When you navigate to a web page, the web server hosting that page serves your browser an HTML source file that is then rendered into the visible and interactive web page., CSSCascading Stylesheets, or CSS, is a web technology that describes how the web page should look like and, up to a certain point, respond to interactions. If the HTML document defines the content, then CSS describes how that content should be structured, aligned, and painted in the browser., and JavaScriptJavaScript is the main language of the dynamic web. The web browser renders the HTML source file into a dynamic document that can be interacted with using JavaScript..
Key takeaway #3: Caches lighten the load
There are a number of different cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. that progressively improve page performance as you browse the web. The purpose of a cacheCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. is to temporarily store frequently accessed resources. These can be stored locally on the device, in the browser, on the network itself, and on web servers. When the browser needs to request a resource, it first looks into these cachesCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster. to see if the resource has been cachedCaches are temporary storage mechanisms for frequently accessed things such as domain name queries, images, even entire web pages. Their purpose is to make the web faster., in which case it uses this instead of having to do the whole request–response process again.