(一)在浏览器输入网址--->到网页展现全部过程:
大致过程:
第一步 浏览器查找该域名的 IP 地址 第二步 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求【前提,要建立连接(TCP或者UDP)】【可能会重定向】 第三步 服务器收到请求并进行处理 第四步 服务器返回一个响应 第五步 浏览器对该响应进行解码,渲染显示。 第六步 页面显示完成后,浏览器发送异步请求。
1.在浏览器输入一个网址:eg facebook
2.浏览器查找域名的IP地址(域名-->输入的网址)
①浏览器缓存--->浏览器会缓存DNS记录一段时间。
②系统缓存--->如果浏览器缓存里面没有--->浏览器调用系统缓存查找网址对应的DNS信息(Windows系统是通过gethostbyname查找)。
③路由器缓存--->系统缓存没有。发向路由器,它一般有自己的DNS缓存。
④ISP DNS服务器。checkISP缓存DNS的服务器。一般能找到相应的缓存记录。
⑤递归搜所。请求将发向跟域名服务器进行搜索。【找不到,说明此域名不存在】
3.在请求之前,需要浏览器与服务器建立连接(TCP或者UDP)
①与服务器建立连接时TCP属于安全连接,需要三次握手。
②与服务器响应软件建立管道连接(socket)
4.浏览器给Web服务器发送一个HTTP请求【可能会被重定向】
5.服务器处接受到请求,--->处理请求。
6.服务器发回一个HTML响应
7.浏览器开始显示HTML(在浏览器没有完整接受全部的HTML文档时,它就开始显示这个页面了)
8.浏览器显示HTML时,会注意到需要获取其他地址内容的标签--->浏览器发送一个请求来重新获取这些文件