1. The DNS
  • Browser DNS Cache
  • System DNS Cache
  • Router DNS Cache
  • Carrier DNS Cache
  • If you can’t find it again, recursively search the url
  1. If found, get IP
  • Establish TCP connection three-way handshake
  • The first handshake is initiated by the browser, which tells the server THAT I’m going to send the request
  • The second handshake is initiated by the server, which tells the browser I’m ready to accept and you send
  • The third handshake is initiated by the browser, which tells the server to send the request
  1. Send request message
  2. Receive response message
  3. To render the page
  • When an HTML tag is encountered, the HTML parser is called and the DOM tree is built
  • When a style/link tag is encountered, the CSS parser is invoked
  • When a Script tag is encountered, the javascript parser is called
  • Calculates the layout from the render tree
  • Render (draw)
  • The above steps may not be performed sequentially. The DOM tree or CSSDOM is modified 6. Disconnecting TCP Connections
  • The first wave is initiated by the browser, sent to the server, I’m done, you’re ready to close (request message)
  • The second wave is from the server. I’m done. I’m going to close it.
  • The third wave is sent by the server, telling the browser, I’m done, you’re ready to shut it down.
  • The fourth wave is initiated by the browser and sent to the server. I have accepted it and will close it. You are ready to close it.