Cách Internet hoạt động: từ HTTP, DNS, trình duyệt đến điện toán đám mây — những khái niệm nền tảng cho lập trình viên.
Internet
Một mạng lưới toàn cầu kết nối các máy tính trên khắp thế giới, cho phép chia sẻ thông tin và giao tiếp từ mọi nơi có kết nối.
Tìm hiểu thêm (Wikipedia)HTTP & HTTPS
HTTP là giao thức để trao đổi dữ liệu trên Web. HTTPS là phiên bản bảo mật của HTTP, sử dụng mã hóa SSL/TLS để bảo vệ thông tin nhạy cảm như đăng nhập hay thanh toán.
Trình duyệt web
Chương trình cho phép xem và tương tác với nội dung trên Web — bao gồm văn bản, hình ảnh, video. Hầu hết đều tích hợp công cụ dành cho nhà phát triển.
Tên miền & DNS
Tên miền (ví dụ vulehuan.com) là địa chỉ dễ nhớ. Hệ thống DNS chuyển đổi tên miền thành địa chỉ IP (ví dụ 192.0.2.1) để trình duyệt tìm được máy chủ.
Nhà đăng ký tên miền
Dịch vụ DNS công cộng
Máy chủ & Máy khách
Máy chủ cung cấp tài nguyên (tệp, cơ sở dữ liệu, API); máy khách (trình duyệt, ứng dụng) sử dụng chúng. Đây là mô hình nền tảng của Web.
Hosting & Điện toán đám mây
Hosting cho thuê không gian trên máy chủ để lưu trữ website. Cloud cung cấp hạ tầng linh hoạt (CPU, RAM, DB), trả theo nhu cầu sử dụng.
SaaS & Mạng nội bộ
SaaS là phần mềm được cung cấp qua Internet (ví dụ: Gmail). Mạng nội bộ (Intranet) là mạng riêng, chỉ dành cho nhân viên trong tổ chức.
Dịch vụ gửi/nhận thư điện tử qua Internet. Nhiều nhà cung cấp hiện nay hỗ trợ mã hóa và chống thư rác.
CDN
Mạng máy chủ phân tán theo địa lý, giúp tải nội dung (HTML, CSS, JS, ảnh) nhanh hơn cho người dùng ở mọi nơi.
Khái niệm cốt lõi
- Mô hình Máy khách–Máy chủ
- Địa chỉ IP vs Tên miền
- Vòng đời HTTP: request → response
- Giao thức bắt tay TLS (HTTPS)
- HTTP không lưu trạng thái
- Độ trễ (latency) vs Băng thông (bandwidth)
Luồng yêu cầu HTTP
# 1. Tra DNS vulehuan.com ➜ 104.21.43.78 # 2. Bắt tay TCP Client ─SYN─► Server Client ◄─ACK─ Server Client ─ACK─► Server # 3. TLS (chỉ HTTPS) Client <─ Bắt tay TLS ─> Server # 4. Gửi yêu cầu GET / HTTP/1.1 Host: vulehuan.com # 5. Trả về phản hồi HTTP/1.1 200 OK Content-Type: text/html <!DOCTYPE html>...