![fa629ddabf31fa8274f7a3559a37538f.png](https://i-blog.csdnimg.cn/blog_migrate/e2aa7e33feca47485aa667f727ee0cd0.jpeg)
浏览器的一个请求从发送到返回过程中有哪些点能够进行性能优化,减少请求时间?
1、dns服务器:可以再浏览器层面甚至是在路由层面做一个dns服务器相关信息的缓存。
2、网络请求的过程:涉及到带宽、网络的选择、缓存。
1》实际上在网络请求的过程中很多公司会使用CDN,就解决了网络选择和缓存的问题。但是在访问CDN时会有个问题:CDN是请求静态资源用的,对于静态资源来说请求过程中携带的cookie是无用的,所以希望请求静态资源过程中cookie能从HttpRequestHeader中去掉。但是很多时候我们CDN的域名会弄得和本身我们的网站域名相同,就会将主站的cookie通过网络去携带到CDN的服务端,这个是对网络无谓的损耗。所以CDN的域名也要注意,尽量不要跟主站用同一域名
2》有些接口不能用CDN,对于这些接口我们可以在浏览器端做一些缓存策略,对于相同的资源和相同接口就可以从浏览器端读取数据。
3》带宽——一个http请求较小的话,也能加快请求时间
4》减少http请求大小:每一个http请求都会通过网络环境到达服务器,每次请求都有网络环境的损耗。所以最好多次http请求合并成一次请求。
5》浏览器端渲染 (如:vue,它的模板都是在浏览器段进行渲染的,不是html,而是走框架中的相关的框架代码才能渲染出页面,这过程对首屏损耗比较大,不利于前端性能)这种情况下很多大佬就会使用一些相关框架服务端渲染方案,在服务端进行html的渲染,从而将html指出到浏览器,而不是在浏览器端渲染。所以在渲染层面可以做一些服务端渲染以及服务端渲染优化方案
![4bba206e82a9aa0fdce7ce1ba96f98b6.png](https://i-blog.csdnimg.cn/blog_migrate/fc82500c3ebeef296c71d186e2003503.jpeg)