首页 > 代码库 > Explain in detail the steps/processes that occur from the moment you type a URL in a browser and hit enter

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 possibleHTTP request, no proxies and IPv4 (this would work similarly for IPv6-onlyclient, 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 thisas a starting point. Also, there are many other things happening in parallel to

this (processing typed-in address, adding page to browser history, displayingprogress to user, notifying plugins and extensions, rendering the page whileit‘s downloading, pipelining, connection tracking for keep-alive, etc.).

Explain in detail the steps/processes that occur from the moment you type a URL in a browser and hit enter