nginx通过压缩json的大小,提高访问速度

最近自己搞了个项目,但是发现返回的json的数据很大,大概接近500KB,每次请求大概需要接近2S,对于一个web项目是无法容忍的?怎样解决这个问题那?压缩json大小还是改造项目那?

  通过查阅资料,发现nginx提供gzip压缩,通过压缩可以减少json的大小

我们看一下效果如下:
在这里插入图片描述

1、大小又接近500KB降低到25.2KB
2、请求时长又1.7-2S之间降低到166MS左右

具体配置

    gzip  on;

    gzip_min_length  102480;

    gzip_buffers     4 8k;

    gzip_types       text/plain application/x-javascript text/css application/xml application/json;

这里主要说一下,gzip_types一定要加上“application/json”。

代码改造
在接口请求返回信息的头部需要接口加入content-type,这样nginx才能实现压缩

header('Content-type: application/json;charset=utf-8');
好的,让我来介绍一下如何在Nginx中配置前端跨域访问以及压缩文件。 1. 配置前端跨域访问。在Nginx的配置文件中加入以下内容: ``` location /api { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization'; if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization'; return 204; } } ``` 这里的`/api`是你的后端接口路径,`Access-Control-Allow-Origin`表示允许的跨域来源,`Access-Control-Allow-Methods`表示允许的跨域请求方法,`Access-Control-Allow-Headers`表示允许的跨域请求头信息。 2. 配置文件压缩。在Nginx的配置文件中加入以下内容: ``` gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ``` 这里的`gzip on`表示开启压缩,`gzip_types`表示需要压缩的文件类型。 配置完成后,Nginx会自动对需要压缩的文件进行压缩,然后发送给客户端浏览器。 3. 保存并退出配置文件,然后重启Nginx服务器: ``` sudo systemctl restart nginx ``` 现在,你已经成功在Nginx中配置了前端跨域访问和文件压缩。如果你的前端项目和后端项目在不同的域名或者端口下,可以通过配置跨域访问来实现数据交互。同时,压缩文件可以减小文件大小提高网页加载速度,优化用户体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值