alex / what-happens-when

An attempt to answer the age old interview question "What happens when you type google.com into your browser and press enter?"
40.22k stars 5.55k forks source link

What happens on the security layer when we load a web page? #2438

Open boost1ne opened 4 months ago

boost1ne commented 4 months ago

-------How privacy and security features impact the process of loading a webpage is a valuable addition to the project. Let's outline some key points you could include in your contribution:

  1. Browser Privacy Settings:

    • Discuss how features like "Do Not Track" or private/incognito mode affect the request and data handling.
    • Mention content blockers and how they might interfere with certain page elements.
  2. HTTPS Everywhere:

    • Explain how browser extensions that force HTTPS connections impact the initial request.
  3. DNS over HTTPS (DoH) or DNS over TLS (DoT):

    • Describe how these protocols encrypt DNS queries, enhancing privacy.
  4. Content Security Policy (CSP):

    • Explain how CSP headers can restrict which resources the browser is allowed to load.
  5. Ad blockers and tracker blockers:

    • Discuss how these tools might prevent certain requests or modify the page load process.
  6. VPNs and Proxy Servers:

    • Explain how these can change the apparent origin of the request and impact geolocation-based content.
  7. HSTS (HTTP Strict Transport Security):

    • Describe how HSTS preload lists in browsers force HTTPS connections.
  8. Certificate Transparency:

    • Explain how browsers check SSL/TLS certificates against public logs for additional security.
  9. Privacy-focused DNS providers:

    • Mention how using privacy-respecting DNS services can impact the DNS resolution step.
  10. Browser fingerprinting protection:

    • Discuss features that aim to reduce the uniqueness of browser signatures.

To add this to the project:

  1. Open the README.md file in your text editor.
  2. Find an appropriate place to insert this new section, perhaps after the HTTPS/SSL part.
  3. Create a new heading like "## Privacy and Security Considerations"
  4. Write up your content, explaining these points and how they affect the process.
  5. Save your changes, commit them, and push to your branch as explained earlier.