从输入 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.浏览器将渲染请求,或者弹出一个下载对话框
相关文章推荐
- [转]从输入url到页面加载完成的过程中都发生了什么事情
- Web访问原理-从输入URL到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 【转】从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- Web访问原理-从输入URL到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入URL到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 url 到页面加载完成的过程中都发生了什么事情?(总结)
- 【转】 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- 从输入URL到页面加载完成的过程中都发生了什么事情?
- 从输入 URL 到页面加载完成的过程中都发生了什么事情( by vczero)