Kỹ thuật xây dựng trình duyệt web (2021)
(browser.engineering)-
Giới thiệu về kỹ thuật xây dựng trình duyệt web
- Trình duyệt web được sử dụng hằng ngày, nhưng nguyên lý hoạt động của nó rất phức tạp. Cuốn sách này giải thích cách xây dựng một trình duyệt web cơ bản nhưng hoàn chỉnh bằng vài nghìn dòng mã Python, từ networking đến JavaScript.
-
Lời mở đầu
- Cung cấp cái nhìn tổng quan về lịch sử của trình duyệt web và web.
-
Phần 1: Tải trang
- Tải xuống trang web
- Giải thích cách tải xuống trang web thông qua URL và yêu cầu HTTP.
- Vẽ lên màn hình
- Giải thích cách tạo cửa sổ và vẽ trên canvas.
- Định dạng văn bản
- Giải thích cách ngắt dòng từ và điều chỉnh khoảng cách dòng.
- Tải xuống trang web
-
Phần 2: Hiển thị tài liệu
- Xây dựng cây HTML
- Giải thích cách phân tích cú pháp và chỉnh sửa HTML.
- Bố cục trang
- Giải thích cách áp dụng bố cục inline và block.
- Áp dụng kiểu của tác giả
- Giải thích cách phân tích cú pháp và áp dụng CSS.
- Xử lý nút và liên kết
- Giải thích cách xử lý hyperlink và chrome của trình duyệt.
- Xây dựng cây HTML
-
Phần 3: Chạy ứng dụng
- Gửi thông tin đến máy chủ
- Giải thích cách gửi biểu mẫu và tương tác với máy chủ web.
- Chạy script tương tác
- Giải thích cách thay đổi DOM và phản hồi sự kiện.
- Bảo vệ dữ liệu
- Giải thích về cookie, đăng nhập, XSS và CSRF.
- Gửi thông tin đến máy chủ
-
Phần 4: Trình duyệt hiện đại
- Thêm hiệu ứng thị giác
- Giải thích các phương pháp blending, clipping và compositing.
- Lập lịch tác vụ và luồng
- Giải thích event loop và rendering pipeline.
- Hoạt ảnh và compositing
- Giải thích hoạt ảnh mượt mà sử dụng GPU.
- Cung cấp khả năng truy cập nội dung
- Giải thích về nhập bằng bàn phím, phóng to/thu nhỏ và cây trợ năng.
- Hỗ trợ nội dung nhúng
- Giải thích cách hỗ trợ hình ảnh, iframes và scripting.
- Tái sử dụng các phép tính trước đó
- Giải thích về invalidation, chỉnh sửa và tính chính xác.
- Thêm hiệu ứng thị giác
-
Kết luận
- Giải thích về những nội dung chưa được đề cập và môi trường đang thay đổi.
-
Phụ lục
- Bao gồm bảng thuật ngữ, tài liệu tham khảo, giới thiệu tác giả, danh sách cộng tác viên và danh sách các khóa học dựa trên cuốn sách này.
Tóm tắt của GN⁺
- Cuốn sách này hữu ích cho những ai muốn hiểu cách trình duyệt web hoạt động. Thông qua quá trình xây dựng trình duyệt bằng Python, người đọc có thể học được nhiều kỹ thuật như networking, phân tích cú pháp HTML và áp dụng CSS.
- Sách giúp hiểu lịch sử của trình duyệt web và các tính năng của trình duyệt hiện đại. Đặc biệt, sách bao gồm nội dung về bảo mật web và khả năng truy cập, cung cấp kiến thức có thể áp dụng trong thực tế.
- Cuốn sách này có thể thú vị và bổ ích với các web developer hoặc software engineer, đồng thời sẽ là trợ giúp lớn trong việc hiểu cơ chế hoạt động bên trong của trình duyệt web.
1 bình luận
Ý kiến trên Hacker News
Phần 'Stuff I didn't do' là điểm hay của cuốn sách này
Đã bắt đầu làm trình duyệt headless từ 15 năm trước, và dùng SpiderMonkey làm trình thông dịch JS
Cuốn sách này là một tài liệu toàn diện khiến người ta liên tưởng đến MITRE ATT&CK
Việc browser engineering trở thành xu hướng là điều mới mẻ
Có bài viết giải thích lý do tác giả chọn Python
Một trong các tác giả gửi lời cảm ơn và sẵn sàng trả lời câu hỏi
Đang tìm một dự án thú vị, và rất thích cuốn sách này
Việc những tài liệu như thế này được tạo ra thực sự rất thú vị
Đang tìm hiểu về cấu trúc bên trong của trình duyệt, và cuốn sách này rất hữu ích
Là một cuốn sách hay, và đề xuất tách chương 9 thành hai chương riêng