Complex System Design Questions

Source: Internet
Author: User
what happens when you type in a URL in browser

In an extremely rough and simplified sketch, assuming the simplest possible HTTP request, no proxies and IPv4 (this wocould 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 errors es 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 processing 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 .).

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.