This is a simple web browser written in Python that follows the Web Browser Engineering ebook.
Run python3 src/browser.py <url>
from the command line, where <url>
is a complete <scheme>://<host>/<path>
URL, i.e. https://example.org/index.html
. Currently, browser.py will request the specified URL and open a window which will display the contents of the webpage. Also, try using the data URI scheme with a local HTML file as the <url>
, i.e. "data:text/html,`cat tests/test.html`"
The browser supports the following features:
- HTTP and HTTPS protocols
- Data URI scheme (i.e.
data:text/html,<body><h1>Hello</h1></body>
) - Transfer-Encoding: chunked
- Content-Encoding: gzip
- Cache-Control: max-age=
<seconds>
- Content-Type: text/*
- Scrolling, using the mouse wheel, or the up/down keys
- Zooming in/out, using Ctrl+plus/minus
- Window resizing
<b>
,<i>
,<big>
,<small>
,<p>
, and<br>
tags- Rudimentary HTML parsing
Date Reported | Date Fixed | Summary | Steps to Reproduce |
---|---|---|---|
4/23/21 | path used in cache.py for windows backslashing | run caching on windows, and make sure works |