Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/schizobulia/browser
A browser (toy)
https://github.com/schizobulia/browser
Last synced: 3 months ago
JSON representation
A browser (toy)
- Host: GitHub
- URL: https://github.com/schizobulia/browser
- Owner: schizobulia
- Created: 2024-04-23T08:30:57.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-07-08T13:44:52.000Z (6 months ago)
- Last Synced: 2024-07-08T17:10:34.848Z (6 months ago)
- Language: Rust
- Homepage: https://www.yuque.com/anruofusheng/bytlpr/ucycsc48krfeur20
- Size: 179 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Security: security/Cargo.toml
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.