浏览器输入一个网址(发生的过程)

(一)在浏览器输入网址--->到网页展现全部过程:

大致过程:

第一步 浏览器查找该域名的 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时,会注意到需要获取其他地址内容的标签--->浏览器发送一个请求重新获取这些文件

原文地址:https://www.cnblogs.com/not-alone/p/8493949.html