Objective
Look inside your own browser while it loads a page: its processes, the requests it makes, the protocol it uses, the storage it keeps and the work it does to draw. You only look. Nothing here changes settings.
Time: 30 minutes
You need: Windows, and Chrome or Microsoft Edge (both use Chromium). Firefox has similar tools, but menu names differ.
Safety rules for this lab
- Do not log in to anything. Use public pages that need no account, such as a news site or
https://example.com.- Do not paste anything you do not understand into the Console, and never paste secrets or text from strangers.
- Cookies shown in the Application tab can be login keys on sites where you ARE logged in. Do not copy or share them. Look at a site where you are logged out.
- Menu names and layout differ between browser versions. If you do not find something, use the search box in DevTools (Ctrl + Shift + P) or the browser's own help.
What to Open
| Tool | How to open it |
|---|---|
| Browser Task Manager | In Chrome or Edge, press Shift + Esc |
| Windows Task Manager | Press Ctrl + Shift + Esc |
| DevTools | Press F12 (or Ctrl + Shift + I) in the browser |
| Version page | Type edge://version (Edge) or chrome://version (Chrome) in the address bar |
Part 1: Which Browser Am I Running? (version page)
Type edge://version or chrome://version and press Enter. Read only. Write down:
- Browser name and version: ________________
- Operating system: ________________
- Profile Path (compare with Section 5.2; hedge, it can differ): ________________
- Command Line (look for flags; do not copy it anywhere): ________________
Close that tab. Do not use any other chrome:// or edge:// pages in this lab.
Part 2: The Browser's Own Task Manager (Section 1)
-
Open three tabs:
https://example.com, a news site, and a video or map site (do not log in). -
Press Shift + Esc. The browser's Task Manager opens.
-
Find rows for Browser, GPU Process, and one row per Tab. You may also see rows for extensions and utility or network processes (names differ).
-
How many rows do you see? ________________
-
Which row has the most Memory footprint? ________________
-
Is there a GPU Process row? ________________
Optional safe test: Right-click the column header and add Process ID. You will use it in Part 3.
Do not click End process on the Browser row. You may end a tab row for a page you do not need; that tab will show a "crashed" page and the others will carry on. That is crash containment (Section 1.2). You can close that tab afterwards.
Part 3: Windows Task Manager (Chapters 9 and 11)
-
Press
Ctrl + Shift + Esc. On the Processes tab, find your browser group (for example "Microsoft Edge (18)"). -
Expand it and count the entries.
-
Open the Details tab and sort by Name. Find the many
msedge.exeorchrome.exelines. -
Right-click any column header, choose Select columns, and tick Command line (this is read-only). Look for
--type=renderer,--type=gpu-processand--type=utility. -
How many
chrome.exe/msedge.exeprocesses? ________________ -
Match two PID numbers from Part 2 to rows here: ________________
-
Which
--type=values did you find? ________________ -
Does the process with no
--type=flag have the lowest PID or the longest runtime? (It is the main browser process.) ________________
Untick Command line afterwards if you wish (that only changes the display).
Part 4: DevTools Network Tab (Section 4)
-
Open a new tab with
https://example.com(or any public page). Press F12. Click the Network tab. -
Reload with F5. Rows appear: one per file requested.
-
Right-click the column headers and tick Protocol (it may be hidden by default).
-
Click the first row (the page itself). In the right panel see the Headers tab: the Request URL, Request Method (GET), Status Code (200), and the request and response headers.
-
Click the Timing tab: find bars such as DNS Lookup, Initial connection, SSL (TLS) and Waiting for server response. (A repeat visit may show no DNS or SSL time because the connection was reused.)
-
Look at the waterfall column: it draws each request as a bar on a timeline.
-
Protocol of the main page (h2, h3, http/1.1): ________________
-
Status code of the main page: ________________
-
Content-Type (response header): ________________
-
Number of requests and total transferred (shown at the bottom): ________________
-
Timing: DNS Lookup ____ ms, Initial connection ____ ms, SSL ____ ms, Waiting ____ ms
-
Does any row say "(disk cache)" or "(memory cache)" under Size? ________________
Now tick Disable cache (this only applies while DevTools is open) and reload; compare the numbers in 15. Untick it afterwards.
Try a larger public site and filter by type (Img, JS, CSS). Click a row of an image and look at its Cache-Control header.
Part 5: Elements and Console (Sections 2 and 3)
Elements tab. Click Elements. This is the live DOM tree (Section 2.1), with the page's CSS rules beside it in the Styles pane and the final values under Computed. Hover over a node: the matching box lights up on the page. Do not edit anything on pages you care about; edits here are temporary and vanish on reload, but keep to just looking.
Console tab. Click Console. Type each of these harmless, read-only commands and press Enter:
document.title
location.origin
location.protocol
navigator.userAgent
document.cookie.length
performance.getEntriesByType("navigation")[0].duration
(The old performance.timing also works in many browsers but is marked as deprecated; getEntriesByType is the newer way. Output names can differ by version.)
document.titleshows: ________________location.originshows (compare with Section 6.1): ________________navigator.userAgentmentions which words (Chrome, Edg, AppleWebKit...)? ________________- Page load duration (ms): ________________
Notice that document.cookie.length counts only cookies not marked HttpOnly (Section 5.1).
Part 6: Application Tab (Section 5)
Click the Application tab (you may need the >> menu if hidden). In the left list open:
- Local storage and Session storage: click the site name and look at the key and value pairs. (Many sites keep few or none. Do not copy values.)
- Cookies: select the site. Look at Name, Domain, Expires, and the columns HttpOnly, Secure, SameSite.
- IndexedDB and Cache storage: expand them and see whether the site uses them.
- Storage (top of the list): a bar shows how much space this site uses.
- How many cookies does the site hold? ________________
- Do any have Secure ticked? HttpOnly? ________________
- Does the site use localStorage? IndexedDB? ________________
- Open a second tab of the same site: is Session storage identical or empty? (Section 5.4) ________________
Do not click "Clear site data" unless you are fine with being logged out of that site; on a public logged-out page it is harmless (undo: simply load the page again).
Part 7: Performance Tab (Sections 2 and 3)
-
Click Performance. Press the Record and reload button (a circular arrow icon), wait for the page to load, and it stops by itself.
-
Look at the timeline. The Main row is the main thread (Section 3.2). Long bars are tasks. The tool flags long tasks (over about 50 ms) with a red corner.
-
Click a task and open the Summary or Bottom-Up view: how much time was spent on Scripting, Rendering and Painting?
-
Roughly how long was the longest task? ________________
-
Which category used most time (Scripting, Rendering, Painting, Loading)? ________________
What Should Happen
- Parts 2 and 3 show one browser, many processes with the same program name.
- Part 4 shows each page as many requests, with a protocol such as h2 or h3 and Timing parts that match Section 4.
- Part 5 shows the DOM and your page's origin.
- Part 6 shows the storage places of Section 5.
- Part 7 shows main-thread work in the same stages as Section 2.
Interpretation Guide
| What you see | What it means |
|---|---|
Many msedge.exe / chrome.exe lines | Multi-process design (Section 1) |
--type=renderer | A process running page code |
Protocol h2 / h3 / http/1.1 | HTTP/2 / HTTP/3 over QUIC / HTTP/1.1 |
Status 301 then 200 | A redirect followed |
Status 304 | Server said cached copy still valid |
| Timing shows no DNS or SSL bars | A connection was reused, or the answer was cached |
| Red long task blocks | Scripts that freeze the page briefly |
| Cookie with HttpOnly ticked | JavaScript cannot read it |
| Red CORS message in Console | The server did not permit a cross-origin read (Section 6.3) |
Follow-Up Questions
- Why does closing one tab not close the others, even though they are the same program (Section 1.2)?
- Why do a few sites in your Network tab show
h3while others showh2? - A page loaded 80 requests. Why is that not necessarily slow (think of Section 4.3)?
- What would you look at in the Application tab to see whether a site recognises you between visits?
- Name three facts from this lab that you could not have learned by only looking at the page.