手机版

将服务器端编程语言(专业超文本预处理器的缩写)程序中返回的JSON格式数据用gzip压缩输出的方法

时间:2021-09-16 来源:互联网 编辑:宝哥软件园 浏览:

1.使用压缩与不使用压缩的超文本传送协议输出比较

201633154618959.jpg  (447226)

2.开启gzip

利用apache mod_deflate模块开启gzip开启方法:

sudo a2enmod平减指数/etc/init.d/apache2重启关闭方法:

sudo a2dismod平减指数/etc/init.d/apache2 restart3 .设置需要gzip压缩输出的类型

json的输出类型是应用程序/json,所以可以这样设置在httpd.conf的目录/目录中加入

if模块mod _ DEFLATE。caddoutputfilterbytype DEFLATE应用程序/json/IfModule?PHP $ data=array(array(' name '=' one ',' value'=1),array('name'='two ',' value'=2),array('name'='three ',' value'=3),array('name'='four ',' value'=4),array('name'='five ',' value'=5),array('name'='six ',' value'=6),array('name'='seven ',' value'=7),array(' name '=' first ',' value'=8),array(' name '=' name 'echo JSON _ encode($ data);设置gzip前输出:

201633154714151.jpg  (34683)

设置gzip后输出:

201633154732511.jpg  (33499)

4.单个json使用gzip压缩输出

设置AddOutputFilterByType DEFLATE应用程序/json后,所有json格式的数据输出都将使用gzip压缩输出。如果只想某一个json使用gzip压缩输出,其他不需要,可以使用ob _ start();方法来实现。

首先不需要设置AddOutputFilterByType,然后在代码最开始位置加入ob _ start(' ob _ gzhandler ');

?phpob _ start(' ob _ gzhandler ');$data=array(array('name'='one ',' value'=1),array('name'='two ',' value'=2),array('name'='three ',' value'=3),array('name'='four ',' value'=4),array('name'='five ',' value'=5),array('name'='six ',' value'=6),array('name'='seven ',' value'=7),array(' name '=' first ',' value'=8),array('name'='nine ','echo JSON _ encode($ data);

版权声明:将服务器端编程语言(专业超文本预处理器的缩写)程序中返回的JSON格式数据用gzip压缩输出的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。