PES
EN English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

How to enable notifications

Notifications are unavailable in this browser or on this address. Try a supported browser on the secure PES site.

If notifications are blocked, allow them in your browser settings.

  1. Open the site controls beside the address bar, or your browser’s site settings. Set Notifications for this site to Allow.
  2. In your device settings, allow notifications for your browser and check Do Not Disturb or Focus.
  3. Return to PES, reload the page, and use the bell to enable notifications.

On iPhone or iPad, add PES to your Home Screen, open it there, then allow notifications.

My learning progress
  1. How to use AI
  2. Terminal commands
  3. Advanced AI
  4. Vibe coding
  5. AI certification Getting ready
  6. Keyboard
See details
All Vibe Coding topics
VIBE CODING

Web Client

Everything that asks a server for something.

Chrome is a web client, and so is a single line of curl. In this chapter you type an HTTP request by hand, wrap it into a shell script, learn curl properly, and then open Chrome's developer tools to watch the very same messages fly past.

Chrome is the same client, at a different scale

Chrome sends the request your nc command sent. Then it does the enormous amount of extra work that turns the answer into something a person can look at — and that extra work is the only real difference.

It is worth knowing the steps, because every one of them is a place where a page can go wrong. When something does not appear, the question is always which step failed.

From address bar to picture

  1. Resolve the nameThe domain name is turned into an IP address by DNS. If this fails you never reach the server at all, and the error mentions the name rather than the page.
  2. Connect and secureIt opens a connection and, for https, checks the certificate before anything else is sent. A warning here means the encryption could not be trusted, not that the page is missing.
  3. Send the requestThe same handful of lines you typed by hand, with rather more headers: cookies, accepted formats, preferred languages.
  4. Parse and fetch the restIt reads the HTML, builds a tree of elements from your tags, and requests everything the page refers to — stylesheets, images, fonts, scripts — usually several at once.
  5. Style, lay out, paintIt applies the CSS, works out where every box goes, draws the result, and runs the JavaScript that can change all of it again afterwards.

Terminal client or browser

curl and nc Send a request and show you the answer, unchanged. Perfect for checking what a server really returns, and for scripts. They do not run JavaScript, so a page built in the browser looks empty to them.
Chrome Does all of the above and then renders, runs scripts, stores cookies, caches files and enforces security rules between sites. What you see is the result of the answer, not the answer itself.
Most browsers are the same engine

Chrome, Edge, Brave and Opera are all built on Chromium, so a page that works in one usually works in the others. Safari and Firefox use different engines, which is exactly why a site should be opened in at least two of them before you call it finished.

You mark this yourself. Nothing is graded here.

Mark this step as understood?

This cannot be undone yet, so mark it only when you really understand.

Marked as understood

You mark this yourself. Nothing is graded here.

Guidelines

AI

AI Certification

Study

Vibe Coding

Game

Practice

Tutors

Chat

Forum

Create

Community

More

Glossary

Pick a word you don't know. You'll see a simple explanation and related terms.

No matching term yet.

Pick a term to see its explanation.