浏览器用域名(网址)找IP,本地找不到找运营商(ISP-DNS),运营商找不到找更牛逼的(root-DNS、GTLD-DNS),找到之后把请求发过去,网站响应请求返回一个文件(html),浏览器拿到这个文件,把文件内容转换成人能看懂的样子
大致按照顺序梳理一下(不考虑代理服务器的情况):
用户输入网址(一般包含地址和请求两部分)。
浏览器通过DNS查找用户输入网址对应的服务器IP地址。如果IP存在转到3,否则转到
尝试与服务器建立TCP连接。如果连接成功转到4,否则转到7。
将用户的请求封装入HTTP协议数据包,通过上一步建立TCP连接发送至服务器,并等待数据返回。如果有正确HTTP数据返回转到5,否则转到7。
拆解返回的HTTP数据包,获得状态码和数据净核。先判断状态码,如果是一个表示成功处理的状态码(比如200)转到6,否则(比如500)转到7。
分析数据净核,根据不同情况处理,比如说,返回的是一个html页面,则渲染这个页面(可以理解为显示出来),渲染的过程中会遇到一些数据标记,比如图片,这时候就查找本地缓存,如果缓存里有且没过期,就使用本地缓存的数据,否则就向服务器发送请求,从2开始。同时还要下载和运行js代码。
根据不同的错误情况,显示相应的错误提醒。
作者:匿名用户
链接:https://www.zhihu.com/question/20513729/answer/15345582
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。