浏览器访问一次网站的全过程(输入url到页面展示)

在这里插入图片描述在这里插入图片描述
整个过程可以分为以下几个步骤:
在请求DNS解析之前应该还有一个,先去请求自己浏览器中的缓存,查看是否有对应的IP地址的缓存信息;
其实整个查找过程应该是 浏览器缓存->系统缓存–路由器缓存—ISP DNS缓存(网络服务商(电信等)的DNS缓存)–递归搜索

  1. 浏览器发起DNS查询请求(域名解析服务器是基于UDP的,53端口):浏览器作为客户端,当输入url时,浏览器中自动去请求DNS服务器,经过域名解析之后获得相应的域名对应的IP;域名查询方式:根域名->顶级域名->次级域名->主机名。
  2. 客户端通过IP地址找到IP对应的服务器之后,要求建立TCP连接(三次握手);
  3. 客户端发送HTTP请求,服务器接受HTTP请求并进行处理;
  4. 服务器收到请求之后,调用自身服务返回HTTP Response(响应包)
  5. 浏览器解析HTTP响应,将内容显示出来:客户端收到响应包之后开始渲染该包内的body收到全部内容之后断开与服务器之间的TCP连接。(4次挥手)

其中,第五个步骤,我们是这样的:浏览器收到响应内容时,生成一个主页框架,同时向服务端继续发送请求,这些请求主要是一些主页资源。(其中动态资源不缓存,静态资源要缓存);另外,浏览器还要向服务器发送异步请求,有些页面显示完成之后客户端仍要与服务端保持联系。整个过程结束之后浏览器才断开TCP连接。

MVC
Model:应用程序中用于处理应用程序数据逻辑的部分;模型对象负责在数据库中存取数据
View:应用程序中处理数据显示的部分;
Controller:应用程序中处理用户交互的部分。

猜你喜欢

转载自blog.csdn.net/mulinsen77/article/details/89322711