2
Một bài viết rất hay về cách các trình duyệt hoạt động của  Tali Garsiel .
Như cô nói trong Trang chủ của mình : " Trong những năm IE thống trị 90%, không có gì nhiều để làm ngoài việc coi trình duyệt là một" hộp đen ", nhưng bây giờ, với các trình duyệt nguồn mở có hơn một nửa tỷ lệ sử dụng, đây là thời điểm tốt để xem qua nắp máy và xem những gì bên trong trình duyệt web. Chà, bên trong có hàng triệu dòng C ++ ... " Đừng quên bỏ qua Kiểm tra các mẹo về Hiệu suất phía khách hàng của cô ấy . Dưới đây là một số văn bản trêu ghẹo và hình ảnh từ bài viết của cô . Kiểm tra bài viết của cô ấy để biết thêm :)







Các thành phần chính của trình duyệt là ( 1.1 ):

  1. Giao diện người dùng - bao gồm thanh địa chỉ, nút quay lại / chuyển tiếp, menu đánh dấu, v.v ... Mỗi phần của trình duyệt hiển thị ngoại trừ cửa sổ chính nơi bạn nhìn thấy trang được yêu cầu.
  2. Công cụ trình duyệt - sắp xếp các hành động giữa UI và công cụ kết xuất.
  3. Công cụ kết xuất - chịu trách nhiệm hiển thị nội dung được yêu cầu. Ví dụ: nếu nội dung được yêu cầu là HTML, nó có trách nhiệm phân tích cú pháp HTML và CSS và hiển thị nội dung được phân tích cú pháp trên màn hình.
  4. Mạng - được sử dụng cho các cuộc gọi mạng, như các yêu cầu HTTP. Nó có giao diện độc lập nền tảng và bên dưới triển khai cho từng nền tảng.
  5. Giao diện người dùng - được sử dụng để vẽ các tiện ích cơ bản như hộp tổ hợp và cửa sổ. Nó cho thấy một giao diện chung không phải là nền tảng cụ thể. Bên dưới nó sử dụng các phương thức giao diện người dùng hệ điều hành.
  6. Trình thông dịch JavaScript . Được sử dụng để phân tích cú pháp và thực thi mã JavaScript.
  7. Lưu trữ dữ liệu . Đây là một lớp kiên trì. Trình duyệt cần lưu tất cả các loại dữ liệu trên đĩa cứng, ví dụ: cookie. Đặc tả HTML mới (HTML5) định nghĩa 'cơ sở dữ liệu web' là cơ sở dữ liệu hoàn chỉnh (mặc dù nhẹ) trong trình duyệt.



Hình : Các thành phần chính của trình duyệt.  

Ví dụ dòng chính




Hình : Luồng chính của Webkit







Hình : Luồng chính của công cụ kết xuất Gecko của Mozilla ( 3.6 ) Hình : Cây kết xuất và cây DOM tương ứng ( 3.1 ). "Viewport" là khối chứa ban đầu. Trong Webkit, nó sẽ là đối tượng "RenderView".     


Đào thêm
Trước tiên hãy kiểm tra bài viết của cô ấy rất toàn diện. Nhưng nếu bạn muốn đào sâu hơn nữa, bạn có thể kiểm tra tài nguyên bài viết của cô ấy:
  1. Kiến trúc trình duyệt
    1. Grosskurth, Alan. Kiến trúc tham khảo cho trình duyệt web (pdf)
    2. Gupta, Vineet. Cách trình duyệt hoạt động - Phần 1 - Kiến trúc
  2. Phân tích cú pháp
    1. Aho, Sethi, Ullman, Trình biên dịch: Nguyên tắc, Kỹ thuật và Công cụ (còn gọi là "cuốn sách rồng"), Addison-Wesley, 1986
    2. Rick Jelliffe. The Bold and the Beautiful: hai bản nháp mới cho HTML 5.
  3. Firefox
    1. L. David Baron, HTML nhanh hơn và CSS: Bố cục công cụ bố cục cho các nhà phát triển web.
    2. L. David Baron, HTML nhanh hơn và CSS: Công cụ bố cục cho các nhà phát triển web (video thảo luận về công nghệ của Google)
    3. L. David Baron, Công cụ bố trí của Mozilla
    4. L. David Baron, Tài liệu hệ thống phong cách Mozilla
    5. Chris Waterson, Ghi chú về HTML Reflow
    6. Chris Waterson, Tắc kè tổng quan
    7. Alexander Larsson, Cuộc đời của một yêu cầu HTTP HTML
  4. Webkit
    1. David Hyatt, triển khai CSS (phần 1)
    2. David Hyatt, Tổng quan về WebCore
    3. David Hyatt, WebCore Rendering
    4. David Hyatt, Vấn đề FOUC
  5. Thông số kỹ thuật của W3C
    1. Đặc điểm kỹ thuật HTML 4.01
    2. Đặc tả HTML5 của W3C
    3. Đặc tả Cascading Style Sheets Cấp 2 Phiên bản 1 (CSS 2.1)
  6. Trình duyệt xây dựng hướng dẫn
    1. Firefox. https://developer.mozilla.org/en/Build_Documentation
    2. Webkit. http://webkit.org/building/build.html
|