Web Browser Engineering

This course project unveils how modern browser works internally by building a simple browser in python.

In particular, this “toy” web browser is able to

  1. download web page through HTTP and HTTPS GET requests.
  2. drawing windows, tabs, and texts on the screen
  3. lay out pages, fonts, and user styles with document tree and layout tree.
  4. handle basic user interactions, such as click on buttons and links.
  5. send information to servers via form and POST request.
  6. run JavaScript scripts that improve the interactivity of web pages.
  7. keep data private through cookie and logins, XSS, and CSRF.

For more information, visit the course website here.