Thursday, March 25, 2021

What happens when you enter a URL in the browser? - UI Edition


  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. Each DNS can forward to other DNS if it doesn’t have the data, till it reaches the root DNS (which will have the ip address)
  4. browser opens a TCP connection to server (this step is much more complex with HTTPS) at port 80.
  5. In case of HTTPs, it also creates a SSL connection (refer to stamp’s book)
  6. browser sends the HTTP request through TCP connection
  7. browser receives HTTP response and may close the TCP connection, or reuse it for another request
  8. browser checks if the response is a redirect or a conditional response (3xx result status codes), authorization request (401), error (4xx and 5xx), etc.; these are handled differently from normal responses (2xx)
  9. if cacheable, response is stored in cache
  10. browser decodes response (e.g. if it's gzipped)
  11. browser determines what to do with response (e.g. is it a HTML page, is it an image, is it a sound clip?)
  12. browser renders response, or offers a download dialog for unrecognized types

No comments:

Post a Comment