How the Web Works series: What is a web client?
Tags: webdev, programming, javascript, frontend
Published: 2024-05-13 11:33:04

---
title: How the Web Works series: What is a web client?
published: true
description: For most users, this is our interface with the web.. Part of the "Howe the Web Works" series.
tags: webdev,programming,javascript,frontend
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8oplt1v8wfgoq65ybg6x.png
canonical_url: https://howthewebworks.substack.com/p/what-is-a-web-client
# Use a ratio of 100:42 for best results.
# published_at: 2024-05-12 16:53 +0000
---

This article is part of the How the Web Works series I'm running over on Substack! If you're interested in following along, check it out here:

https://howthewebworks.substack.com

—--

If the goal of the How the Web Works newsletter is to thoroughly understand how the web works, there is no better place to start than the _web client_.

Web clients are the most-recognized, user-facing component of the web. You’re probably using one right now to read this newsletter article.

## Common types of web clients

![Browser, phone, and tablet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9wyb4n49q6vf3cl9xqa.png)

Common types of web clients include the following:

- Web browsers (e.g., Chrome, Edge, Firefox, Safari)
- Mobile applications (e.g., the LinkedIn application)
- Desktop applications (e.g., the Spotify application)

Basically, any application that is used to browse the Internet or interact with web services can be thought of as a web client.

## But what is a web client, really?

I just described web clients as any application used to browse the Internet or interact with web services, but I actually don’t think that definition does a good enough job at isolating the functionality of a web client well enough to gain a deep understanding of the web.

Instead, what I generally tell people is that web clients are _fancy document viewers_.

When you navigate to a website, there is a lot that goes on (much of which we’ll cover in subsequent editions of this newsletter!). But, at the end of the day, your browser (the web client) receives a document and displays it to you. Even though you had to browse to a website to get it, that document is now on your device!

If it seems strange that I’m focusing so much on the fact that the web client is a document viewer, I totally get it! But I promise there is a reason I’m doing so. As we get further and further into our exploration of how the web works, it is going to be critical to keep in mind the exact role the web client is playing.

## Web browsers were first invented for linking documents together

In 1990, Tim Berners-Lee created the first web browser, the _WorldWideWeb_, while working at CERN. Berners-Lee’s browser was a graphical user interface (GUI) that allowed text documents to be linked together over a public network.

![WorldWideWeb](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lzd9lggg9gslkzybpzru.png)

In 1994, Netscape released Netscape Navigator, the first commercial web browser, to the public. The following screenshot shows Netscape Navigator v2, which was released in 1995.

![Netscape Navigator](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/894eurtq76taypbw7948.jpeg)

In the years to come, fierce competition between companies like Netscape, Microsoft, and Google would lead to rapid browser innovation, including Microsoft’s introduction of the first implementation of Cascading Style Sheets (CSS) in Internet Explorer and Netscape’s introduction of JavaScript.

While browsers have evolved to include a lot of additional, fancy functionality, they have always had a foundation in sharing _documents_.

## What makes the web client a “fancy” document viewer?

These days, web clients don’t only display documents. They do quite a bit of work in order to make that happen! In the following sections, I’ll provide a list of some of this additional functionality. Note that we will spend some time on each of these topics in coming editions of the How the Web Works newsletter!

### Parse and understand the languages of the web

All common browsers can parse and understand HyperText Markup Language (HTML), Cascading Style Sheets (CSS), and JavaScript. These three languages dictate the structure, display style, and interactivity of the documents you view. For example, HTML may specify what is heading text versus what is paragraph text. CSS would specify the size and color of those texts. Finally, JavaScript could make that text scroll across the page! (Note: just because we _could_ doesn’t mean we should!).

### Understand Hypertext Transfer Protocol (HTTP)

HTTP is a _network protocol_ used to communicate between clients and servers on the web. In order to display documents (and other data) to users, web clients need to parse them from HTTP messages. Furthermore, web clients need to send HTTP messages to request or update data elsewhere on the web.

As a brief example, an HTTP message may look like this:

```
GET /index.html HTTP/1.1
Host: www.example.com
```

This message would request the contents from the `index.html` file from www.example.com. Don’t worry too much about trying to understand this example—we’ll get more into HTTP in a dedicated edition of the newsletter.

### Keep you safe with various security measures

It’s a big, scary world out there! As you are probably aware, bad actors are constantly trying to find ways to steal peoples’ personal information. Web clients perform various security checks to try to keep you safe.

Some important safety measures that browsers perform:

- Negotiate secure connections with web servers
- Make sure a website’s content is truly being sent by the website owner
- Prevent malicious code from being run inside your browser
- Disallow websites from viewing your data associated with another website

### Store pieces of information to help us interact with web services

Browsers store pieces of information on your computer to help you interact with web services. For example, you have likely heard of _web cookies_, which are often critical in maintaining your logged-in state on a website.

## Main takeaways

We’ve spent some time talking about a familiar but critical piece of the web: the web client. If you take anything away from this edition of the newsletter, it should be the following:

A web client is a piece of software running on a user’s device. Common web clients are web browsers, mobile applications, and desktop applications.

Web clients are essentially a fancy document viewers. They do _a lot_ more than this, but for the purposes of understanding the web, it’s helpful for us to think of them in this simple way.

In future editions of this newsletter, we’ll start building out our knowledge of the technologies that enable your web client to request documents (and other data) from web servers. Additionally, we’ll learn more about the technologies used within web clients to make modern web applications work.

![How the Web Works roadmap after web client](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s2jk3a5kdplub1z9j394.jpeg)

## Check out the newsletter

This article is part of the How the Web Works series I'm running over on Substack! If you're interested in following along, check it out here:

https://howthewebworks.substack.com