码迷,mamicode.com
首页 > 其他好文 > 详细

系统设计题杂

时间:2014-07-22 22:47:34      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   os   

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 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.).

 

系统设计题杂,布布扣,bubuko.com

系统设计题杂

标签:des   style   blog   http   color   os   

原文地址:http://www.cnblogs.com/leetcode/p/3859583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!