Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/schizobulia/browser

A browser (toy)
https://github.com/schizobulia/browser

Last synced: 3 months ago
JSON representation

A browser (toy)

Awesome Lists containing this project

README

        

## Writing a browser involves the integration of several key modules that work together to provide the ability to browse the web.

The following are the main modules in the browser:
1. user interface (UI):
-provides an interface for users to interact with the browser, including address bar, forward / back buttons, bookmarks, history, etc.
2. Network engine:
-responsible for communicating with the network, including sending and receiving HTTP requests, processing SSL/TLS connections, and parsing URL.
3. rendering engine (Renderer):
-responsible for parsing and rendering web content, including HTML, CSS and JavaScript.
This module usually uses its own JavaScript engine, such as WebKit's JavaScriptCore or Blink's V8.
4. JavaScript engine:
-executes the JavaScript code in the web page.
This engine needs to execute JavaScript code efficiently and safely while providing good performance.
5. Storage:
-manage the local data storage of web pages, including Cookie, local storage, IndexedDB, etc.
6. Security:
-responsible for handling security-related functions, such as SSL/TLS connection, homology policy, content security policy, etc.
7. plug-in system:
-support browser extensions and plug-ins that allow users to add new features or modify existing ones.
8. data processing:
-processing and parsing web page data, such as XML, JSON, etc.
9. Multimedia processing:
-handle multimedia content in web pages, such as audio, video and pictures.
10. performance Monitoring:
-Monitoring and reporting the performance of web pages, including page loading time, JavaScript execution time, etc.
11. Resource Management:
-manage web resources, such as pictures, CSS files, JavaScript files, etc.
12. Cache:
-caching web pages and resources to improve loading speed and performance.
These modules need to work together to ensure that browsers can display web content efficiently and safely.
Writing a browser requires an in-depth understanding of the functions of these modules and the interaction between them.