zoukankan      html  css  js  c++  java
  • Explain in detail the steps/processes that occur from the moment you type a URL in a browser and hit enter

    In an extremely rough and simplified sketch, assuming the simplest possible HTTP request, no proxies and IPv4 (this would work similarly for IPv6-only client, but I have yet to see such workstation):

    1. browser checks cache; if requested object is in cache and is fresh, skip to #9

    2. browser asks OS for server's IP address

    3. OS makes a DNS lookup and replies the IP address to the browser

    4. browser opens a TCP connection to server (this step is much more

      complex with HTTPS)

    5. browser sends the HTTP request through TCP connection

    6. browser receives HTTP response and may close the TCP connection, or

      reuse it for another request

    7. browser checks if the response is a redirect (3xx result status codes),

      authorization request (401), error (4xx and 5xx), etc.; these are handled

      differently from normal responses (2xx)

    8. if cacheable, response is stored in cache

    9. browser decodes response (e.g. if it's gzipped)

    10. browser determines what to do with response (e.g. is it a HTML page, is it

      an image, is it a sound clip?)

    11. browser renders response, or offers a download dialog for unrecognized

      types

    Again, discussion of each of these points have filled countless pages; take this as a starting point. Also, there are many other things happening in parallel to

    this (processing typed-in address, adding page to browser history, displaying progress to user, notifying plugins and extensions, rendering the page while it's downloading, pipelining, connection tracking for keep-alive, etc.).

  • 相关阅读:
    多线程系列 线程池ThreadPool
    多线程系列 使用多线程的安全问题
    C#反射Assembly 详细说明
    Assembly(c#中简单说明[转]
    反射调用性能比较
    MFC控件GDI编程
    MFC控件第一讲.DC编程
    MFC原理第六讲.消息传递
    MFC原理第五讲.消息映射.以及如何添加消息
    MFC原理第四讲.动态创建机制
  • 原文地址:https://www.cnblogs.com/springfor/p/4222921.html
Copyright © 2011-2022 走看看