2. 请描述一下,从输入URL地址,到页面完成展示之间发生了什么,应用做了前后端分离,后台服务只有一个进程,没有调用其他服务,有使用数据库,建议画出流程图。
时间: 2023-05-24 18:02:34 浏览: 174
A: 从输入URL地址到页面展示,整个流程可以分为以下几个步骤:
1. DNS解析:浏览器会向本地DNS服务器查询请求的域名对应的IP地址;如果本地DNS服务器没有缓存该域名的IP地址,则会向根域名服务器查询并递归地获取域名解析结果,直至获取域名对应的IP地址。
2. TCP连接:浏览器通过获取的IP地址和端口号,与服务器建立TCP连接,进行数据传输的准备阶段。
3. HTTP请求:浏览器会向服务器发送HTTP请求,该请求包含取回的HTML文档中的资源(CSS、JavaScript、图片等文件)的位置、cookie、用户平台信息等内容。请求的方式可以是GET、POST等方式。
4. 服务器响应:服务器接收到浏览器发来的请求后,会根据请求的内容进行相应的处理,并将处理结果以HTTP响应的形式返回给浏览器。响应包括状态码、响应头和响应主体。响应主体则包括HTML文本、CSS、JavaScript、图片等资源。
5. 浏览器渲染:浏览器接收到HTML文本、CSS、JavaScript等资源后,会解析和渲染页面,生成DOM树,CSS规则树,渲染树等并展示给用户,JavaScript脚本在此阶段进行异步加载或执行。
由于应用是做了前后端分离,后台服务只有一个进程且没有调用其他服务,因此流程可以简化为:
1. 浏览器发送请求到服务端。
2. 服务端解析请求,返回HTTP响应。
3. 服务端通过数据库查询数据并返回给浏览器。
4. 浏览器接收到响应后,解析HTML文本,渲染页面并展示给用户。
流程简图如下:
```
浏览器 → 服务端 → 数据库
↓ ↓
HTTP请求 HTTP响应
↓ ↓
解析HTML文本,渲染页面
↓
展示给用户
```