您的位置:首页 > 其它

从输入 URL 到页面加载完成的过程中都发生了什么事情?

2014-09-02 10:55 197 查看
1.browsercheckscache;ifrequestedobjectisincacheandisfresh,skipto#9
2.browserasksOSforserver'sIPaddress
3.OSmakesaDNSlookupandrepliestheIPaddresstothebrowser
4.browseropensaTCPconnectiontoserver(thisstepismuchmorecomplexwithHTTPS)
5.browsersendstheHTTPrequestthroughTCPconnection
6.browserreceivesHTTPresponseandmayclosetheTCPconnection,orreuseitforanotherrequest
7.browserchecksiftheresponseisaredirect(3xxresultstatuscodes),authorizationrequest(401),
error(4xxand5xx),etc.;thesearehandleddifferentlyfromnormalresponses(2xx)
8.ifcacheable,responseisstoredincache
9.browserdecodesresponse(e.g.ifit'sgzipped)
10.browserdetermineswhattodowithresponse
(e.g.isitaHTMLpage,isitanimage,isitasoundclip?)
11.browserrendersresponse,oroffersadownloaddialogforunrecognizedtypes

1.检查浏览器缓存,如果你请求的对象依据缓存下来了,则跳到第9步
2.浏览器会询问操作系统你请求的服务器的IP
3.操作系统先查询本地Host文件;如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存;
如果还是没有,会找TCP/ip参数中设置的首选DNS服务器,查询本地区域文件与缓存;
如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,
如果未用转发模式,本地DNS就把请求发至13台根DNS,
如果开启转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,
上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。最后返回IP给浏览器
4.浏览器拿到IP后,想会向服务器建立一个socket连接(不考虑https)
5.浏览器通过TCP向服务器发送HTTP请求的
6.浏览器接收到服务器响应就会断开TCP连接,或者为了其他请求重用它
7.浏览器检查响应的状态是重定向(3xx)、要求授权(401)、服务器错误(4xx和5xx),如果是正常则会返回2xx(200),
8.如果是可缓存的,响应则缓存在内存里
9.浏览器将解码响应(不考虑gzip压缩)
10.浏览器决定如何响应,例如图片、HTML、媒体文件
11.浏览器将渲染请求,或者弹出一个下载对话框


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐