Mục lục bài họcĐang ở d04-b1
← IGCSE Computer Science
0/18 bài đã học xong
Chương 4 · The Internet and Its Uses · Bài 1/2 của chương · bài 7/18 của IGCSE Computer Science

How the web works

World Wide Web hoạt động thế nào
← Mục lục bài học
Lý thuyết · English

Internet and World Wide Web are not the same

the internetthe global network infrastructure — the cables, routers and protocols that connect computers worldwide
the World Wide Webthe collection of web pages and websites that are accessed using the internet

The internet is the road system; the web is the traffic travelling on it. Email, file transfer and online gaming also use the internet but are not part of the web.

The parts of a URL

A uniform resource locator has three parts:

$$\underbrace{\text{https://}}_{\text{protocol}}\ \underbrace{\text{www.example.com}}_{\text{domain name}}\ \underbrace{\text{/pages/index.html}}_{\text{file path and name}}$$
  • protocol — the set of rules used, usually $\text{http}$ or $\text{https}$;
  • domain name — the name of the server holding the site;
  • file path and name — which page on that server is wanted.

HTTP and HTTPS

HTTP is the protocol for transferring web pages. HTTPS is the same protocol with encryption added, using $\text{SSL}$ or $\text{TLS}$.

The single letter matters: with $\text{https}$, anyone intercepting the traffic sees only ciphertext. This is essential for passwords, card numbers and any personal data — and it is why browsers show a padlock.

The Domain Name Service

Computers find each other by IP address, a number. People remember names. The DNS bridges the two.

  1. the user types a domain name into the browser;
  2. the browser asks a DNS server for the matching IP address;
  3. if that server does not know it, it passes the request to another DNS server;
  4. the IP address is returned to the browser;
  5. the browser uses the IP address to request the page from the web server;
  6. the server sends the page back, and the browser renders it.

Note the browser's job: it does not store the pages. It requests them, then interprets the HTML and displays the result.

Cookies

A cookie is a small text file stored on the user's computer by a website.

session cookieheld in memory and deleted when the browser closes — used for a shopping basket during one visit
persistent cookiesaved on the hard disk and survives closing the browser — used to remember logins, language and preferences

Uses: saving preferences, keeping a user logged in, holding items in a basket, and tracking which pages a user visits for targeted advertising.

The last use is why cookies raise privacy concerns, and why sites must ask permission.

Digital currency and blockchain

Digital currency exists only electronically. Its problem is trust: without a bank, what stops someone spending the same coin twice?

Blockchain solves this with a decentralised digital ledger — a record of every transaction, copied across many computers.

Each block contains the transaction data, a timestamp, and a hash of the previous block. That last part is the key: changing an old block changes its hash, which breaks every block after it, so tampering is immediately visible.

Because the ledger is held on many computers rather than one, there is no single copy to attack or alter.

Giải thích tiếng Việt

Internet và World Wide Web không phải một.

  • Internethạ tầng mạng toàn cầu: hệ thống cáp, bộ định tuyến và giao thức nối các máy tính trên khắp thế giới;
  • World Wide Webtập hợp các trang web và website được truy cập bằng Internet.

Internet là hệ thống đường sá; World Wide Web là dòng xe chạy trên đó. Thư điện tử, truyền tệp và chơi game trực tuyến cũng dùng Internet nhưng không thuộc World Wide Web.

Các phần của một địa chỉ web. Một địa chỉ web có ba phần:

$$\underbrace{\text{https://}}_{\text{giao thức}}\ \underbrace{\text{www.example.com}}_{\text{tên miền}}\ \underbrace{\text{/pages/index.html}}_{\text{đường dẫn và tên tệp}}$$
  • giao thức — bộ quy tắc được dùng, thường là $\text{http}$ hoặc $\text{https}$;
  • tên miền — tên của máy chủ chứa trang;
  • đường dẫn và tên tệp — trang nào trên máy chủ đó đang được yêu cầu.

HTTP và HTTPS. HTTP là giao thức truyền trang web. HTTPSchính giao thức đó kèm mã hoá, dùng $\text{SSL}$ hoặc $\text{TLS}$.

Một chữ cái thôi mà rất quan trọng: với $\text{https}$, ai chặn được lưu lượng cũng chỉ thấy bản mã. Điều này thiết yếu với mật khẩu, số thẻ và mọi dữ liệu cá nhân — và đó là lý do trình duyệt hiển thị hình ổ khoá.

Dịch vụ tên miền. Máy tính tìm nhau bằng địa chỉ IP, tức một dãy số. Con người thì nhớ tên. Dịch vụ tên miền nối hai thứ đó lại.

  1. người dùng gõ tên miền vào trình duyệt;
  2. trình duyệt hỏi một máy chủ tên miền để lấy địa chỉ IP tương ứng;
  3. nếu máy chủ đó không biết, nó chuyển yêu cầu sang một máy chủ tên miền khác;
  4. địa chỉ IP được trả về cho trình duyệt;
  5. trình duyệt dùng địa chỉ IP để yêu cầu trang từ máy chủ web;
  6. máy chủ gửi trang về, và trình duyệt dựng hình trang đó.

Chú ý nhiệm vụ của trình duyệt: nó không lưu trữ các trang. Nó yêu cầu trang, rồi diễn giải mã HTML và hiển thị kết quả.

Cookie. Cookie là một tệp văn bản nhỏ mà website lưu trên máy người dùng.

  • Cookie phiên — giữ trong bộ nhớ và bị xoá khi đóng trình duyệt; dùng cho giỏ hàng trong một lần ghé thăm;
  • Cookie lâu dàilưu trên ổ cứng và tồn tại qua nhiều lần đóng mở; dùng để nhớ đăng nhập, ngôn ngữ và tuỳ chọn.

Công dụng: lưu tuỳ chọn, giữ trạng thái đăng nhập, giữ hàng trong giỏ, và theo dõi người dùng ghé những trang nào để quảng cáo nhắm đích.

Chính công dụng cuối là lý do cookie gây lo ngại về quyền riêng tư, và là lý do website phải xin phép.

Tiền số và chuỗi khối. Tiền số chỉ tồn tại dưới dạng điện tử. Vấn đề của nó là lòng tin: không có ngân hàng đứng giữa thì lấy gì ngăn một người tiêu cùng một đồng hai lần?

Chuỗi khối giải bài toán đó bằng một sổ cái điện tử phi tập trung — bản ghi mọi giao dịch, được sao chép trên rất nhiều máy tính.

Mỗi khối chứa dữ liệu giao dịch, dấu thời gian, và mã băm của khối liền trước. Chi tiết cuối mới là mấu chốt: sửa một khối cũ sẽ làm đổi mã băm của nó, và điều đó phá vỡ mọi khối phía sau — nên việc can thiệp lộ ra ngay lập tức.

Vì sổ cái nằm trên rất nhiều máy chứ không phải một, không có bản duy nhất nào để tấn công hay sửa đổi.

Từ tên miền tới trang hiển thị — sáu bước TRÌNH DUYỆT người dùng gõ tên 1. hỏi IP của tên miền MÁY CHỦ TÊN MIỀN tra bảng tên → IP 2. không biết thì hỏi máy chủ khác 3. trả về địa chỉ IP 4. dùng IP yêu cầu trang MÁY CHỦ WEB chứa trang 5. gửi mã HTML về 6. TRÌNH DUYỆT DỰNG HÌNH trang Trình duyệt KHÔNG lưu trang — nó YÊU CẦU rồi DIỄN GIẢI mã HTML. Dịch vụ tên miền tồn tại vì máy tìm nhau bằng SỐ còn người nhớ TÊN.
Máy chủ tên miền không chứa trang web nào cả — nó chỉ là quyển danh bạ đổi tên thành số. Trang thật nằm ở máy chủ web.
Ví dụ — lần theo đường đi của một trang web

Một người gõ một địa chỉ web vào trình duyệt. Mô tả các bước từ lúc gõ tới lúc trang hiện ra, và nêu rõ nhiệm vụ của trình duyệt.

Giải.

Bước 1 — người dùng gõ tên miền. Người dùng nhập một địa chỉ dạng $\text{https://www.example.com/index.html}$.

Địa chỉ này gồm ba phần: giao thức ($\text{https}$), tên miền ($\text{www.example.com}$), và đường dẫn tệp ($\text{/index.html}$).

Bước 2 — trình duyệt hỏi máy chủ tên miền. Máy tính không tìm nhau bằng tên mà bằng địa chỉ IP, tức một dãy số. Nên trình duyệt gửi tên miền tới một máy chủ tên miền để hỏi địa chỉ IP tương ứng.

Bước 3 — tra cứu, có thể qua nhiều máy chủ. Nếu máy chủ tên miền đó không có bản ghi cho tên này, nó chuyển yêu cầu sang một máy chủ tên miền khác cho tới khi tìm được.

Bước 4 — địa chỉ IP được trả về. Trình duyệt nhận được con số nó cần.

Bước 5 — yêu cầu trang từ máy chủ web. Trình duyệt dùng địa chỉ IP đó gửi yêu cầu tới đúng máy chủ web đang chứa trang. Máy chủ gửi lại mã HTML của trang.

Bước 6 — trình duyệt dựng hình. Trình duyệt diễn giải mã HTML và hiển thị kết quả thành trang mà người dùng nhìn thấy.

Nhiệm vụ của trình duyệt — điểm hay bị hiểu sai.

Trình duyệt không lưu trữ các trang web. Nó làm ba việc: gửi yêu cầu, nhận mã HTML, và diễn giải mã đó để hiển thị.

Tương tự, máy chủ tên miền không chứa trang web nào cả — nó chỉ là một quyển danh bạ đổi tên thành số. Trang thật nằm ở máy chủ web.

Vai trò của chữ “s” trong $\text{https}$. Nó cho biết dữ liệu trao đổi được mã hoá bằng $\text{SSL}$ hoặc $\text{TLS}$, nên ai chặn được cũng chỉ thấy bản mã. Trình duyệt hiển thị hình ổ khoá để báo điều đó.

Ví dụ — vì sao chuỗi khối chống được việc sửa dữ liệu

Giải thích vấn đề mà tiền số phải giải, chuỗi khối giải nó thế nào, và vì sao việc sửa một khối cũ lại bị phát hiện ngay.

Giải.

Vấn đề cần giải: lòng tin.

Với tiền mặt, đưa tờ tiền cho người khác là mình không còn nó nữa. Với tiền số, một “đồng tiền” chỉ là dữ liệu — mà dữ liệu thì sao chép được.

Vậy điều gì ngăn một người tiêu cùng một đồng tiền hai lần? Cách truyền thống là để một ngân hàng đứng giữa ghi sổ. Nhưng khi đó mọi người phải tin ngân hàng đó, và nó trở thành một điểm duy nhất có thể sai sót hoặc bị tấn công.

Chuỗi khối giải thế nào.

Nó dùng một sổ cái điện tử phi tập trung: bản ghi mọi giao dịch, được sao chép trên rất nhiều máy tính.

Vì không có bản duy nhất, không có điểm nào để tấn công. Muốn sửa sổ cái, kẻ tấn công phải sửa được bản ghi trên đa số các máy cùng lúc — điều gần như không khả thi.

Vì sao sửa một khối cũ bị phát hiện ngay.

Mỗi khối chứa ba thứ: dữ liệu giao dịch, dấu thời gian, và mã băm của khối liền trước.

Mã băm là một giá trị tính ra từ toàn bộ nội dung của khối. Đổi dù chỉ một ký tự trong khối thì mã băm của nó đổi hoàn toàn.

Bây giờ giả sử kẻ tấn công sửa một giao dịch trong khối số $50$:

  • mã băm của khối $50$ đổi;
  • nhưng khối $51$ vẫn đang ghi mã băm cũ của khối $50$ — nên nó không còn khớp;
  • muốn che, kẻ tấn công phải sửa luôn khối $51$ — nhưng làm vậy thì mã băm của khối $51$ lại đổi, và khối $52$ không khớp;
  • và cứ thế tới khối cuối cùng.

Nói cách khác, sửa một khối cũ buộc phải tính lại toàn bộ chuỗi phía sau, đồng thời làm việc đó trên đa số máy tính trong mạng nhanh hơn tốc độ mạng đang tạo khối mới.

Đó là lý do chuỗi khối được coi là chống sửa đổi: không phải vì không thể sửa, mà vì việc sửa lộ ra ngay và cái giá để che giấu là không kham nổi.

Bẫy hay mất điểm — Dùng lẫn InternetWorld Wide Web như hai tên gọi của một thứ. Chúng là hai thứ khác nhau ở hai tầng khác nhau. Internethạ tầng mạng toàn cầu — cáp, bộ định tuyến và giao thức nối các máy tính lại. World Wide Webtập hợp các trang web chạy trên hạ tầng đó. Internet là hệ thống đường sá; World Wide Web là dòng xe chạy trên đường. Bằng chứng rõ nhất để nêu trong bài: thư điện tử, truyền tệp và chơi game trực tuyến đều dùng Internet nhưng không phải là trang web — nếu hai khái niệm là một thì không giải thích được điều đó. Bẫy đi kèm: nghĩ máy chủ tên miền chứa các trang web. Nó chỉ là một quyển danh bạ đổi tên miền thành địa chỉ IP; trang thật nằm ở máy chủ web, và trình duyệt phải hỏi danh bạ trước rồi mới đi lấy trang.
Phải nhớ — Internet là hạ tầng mạng; World Wide Web là tập hợp các trang chạy trên đó — thư điện tử dùng Internet nhưng không phải web. Địa chỉ web có ba phần: giao thức, tên miền, đường dẫn tệp. HTTPS là HTTP kèm mã hoá. Dịch vụ tên miền đổi tên thành địa chỉ IP vì máy tìm nhau bằng số còn người nhớ tên; trình duyệt không lưu trang mà chỉ yêu cầu rồi diễn giải HTML. Cookie phiên mất khi đóng trình duyệt, cookie lâu dài thì không. Chuỗi khối chống sửa được vì mỗi khối chứa mã băm của khối trước.

Đọc xong rồi — làm thử ngay

Bài tập của chương The Internet and Its Uses gồm 14 câu trắc nghiệm và 5 đề tự luận. Đáp án hiện ngay khi chọn, miễn phí.

Làm bài tập chương →