search
Homephp教程php手册压缩你的PHP、JS、CSS等文本类型代码
压缩你的PHP、JS、CSS等文本类型代码Jun 13, 2016 am 10:46 AM
cssphpcodetransmissionreducecompressionexistsizeimprovetexttype

众所周知,减小代码在传输中的大小,就能提高页面的传输速度,打开网页也就快 了,这是基于带宽瓶颈的理论,当然服务器速度受到其他很多因素的影响, 有PHP代码执行速度,数据库访问速度,磁盘读写IO速度等,无论怎样,带宽影响是非常大,而受中国电信抑或是中国网通还有其他的一些电信公司的制约,在 服务器网络带宽并不很充裕的条件下,压缩代码传输将会大大节省带宽!

本文讲述通过使用Gzip压缩方式自动压缩相应的代码,在访问者浏览器端会自动还原成代码以便浏览器执行,至于编写代码时的良好风格节省空间的方法不在本文之列。

GZIP 最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在 LINUX中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常 使用GZIP压缩技术来让用户感受更快的速度。

首先测试一下你的网站各个页面是否采用了Gzip压缩,这里有个测试工具

目前,有两种主流方法实现Gzip压缩。
一、mod_deflate模块

mod_deflate 模块提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩(应该也是采用gzip数据格式压缩,deflate是一种压缩算 法)以节约带宽。Apache 1.3.x时代使用mod_gzip模块来实现,Apache2已经内置了mod_deflate模块。

这种方法要求安装了Apache的http服务器软件,并且加载了deflate模块。

使用方法:

在网页发布目录的.htaccess文件中加入:

  1. ifmodule mod_deflate.c>
  2. AddOutputFilter DEFLATE html htm xml php js css
  3. ifmodule>

这样就会使得Apache在发布html,xml,php,js,css这样的文件时会采用Gzip方式传输数据,这个方法简单,一劳永逸,但一般使用的虚拟主机并没有安装deflate模块,也不一定是Apache的,不过我们还有办法:

二、ob_gzhandler函数
主机要求:支持PHP,PHP版本在4.0.4以上,安装有zlib库

对于PHP文件传输中压缩,只需在原来的 PHP 文件首行加上


 

并且在结尾加上
 

复制时还原为正规的PHP格式。
 
对于js文件,则在原来js文件的首行加上
 

末尾同样加上
 

然后存为abc.js.PHP这样的文件,并且修改指向这个所有html,PHP等文件。
 

 


 

对于a.html文件就直接改成a.PHP访问好了,如果要保留原来的URL就 修改.htaccess 伪URL或者建立一个网页跳转吧,而其他的CSS等文本也就依此推算出该怎么改了。压缩效能说明:jQuery库源代码为50k左右,先写代码时优化,去除空格组合函数等使其减小至26k,再使用GZIP压缩至14k!


再附一张其他网站的压缩效能比较图,图中三种方式都是GZIP,只是执行的方法不同而已。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何在 Windows 11 上启用或禁用内存压缩功能如何在 Windows 11 上启用或禁用内存压缩功能Sep 19, 2023 pm 11:33 PM

使用Windows11上的内存压缩,即使RAM量有限,您的设备也会窒息运行。在本文中,我们将向您展示如何在Windows11上启用或禁用内存压缩。什么是内存压缩?内存压缩是一种在将数据写入RAM之前压缩数据的功能,从而在其上提供更多存储空间。当然,存储在物理内存中的更多数据转化为更快的系统运行和更好的整体性能。此功能在Windows11中默认启用,但如果它以某种方式未处于活动状态,您可以禁用或重新启用它。如何在Windows11中启用内存压缩?单击搜索栏,键入powershell,然后从结果中单

pr文件的压缩类型不受支持怎么办pr文件的压缩类型不受支持怎么办Mar 23, 2023 pm 03:12 PM

pr文件的压缩类型不受支持的原因及解决办法:1、精简版pr把许多视频编码器精简掉了,重新安装使用完整版Premiere;2、视频编码不规范导致的,可以通过格式工厂,将视频转换成WMV格式即可。

如何使用Nginx进行HTTP请求的压缩和解压缩如何使用Nginx进行HTTP请求的压缩和解压缩Aug 02, 2023 am 10:09 AM

如何使用Nginx进行HTTP请求的压缩和解压缩Nginx是一款高性能的Web服务器和反向代理服务器,其功能强大且灵活。在处理HTTP请求时,可以使用Nginx提供的gzip和gunzip模块对请求进行压缩和解压缩,以减小数据传输量,提高请求响应速度。本文将介绍如何使用Nginx进行HTTP请求的压缩和解压缩的具体步骤,并提供相应的代码示例。配置gzip模块

linux怎么显示压缩文件信息linux怎么显示压缩文件信息Feb 13, 2023 am 10:20 AM

显示方法:1、用Vim编辑器,语法“vim 压缩文件”;2、用“tar -tf 压缩文件”命令;3、用“rar v 压缩文件”命令;4、用“unrar l 压缩文件”命令;5、用“zip -sf 压缩文件”命令;6、用“unzip -l 压缩文件”命令;7、用“zipinfo 压缩文件”命令;8、用“zcat 压缩文件”命令;9、用“zless 压缩文件”;10、用less。

Golang实现图片质量压缩的方法Golang实现图片质量压缩的方法Aug 17, 2023 pm 10:28 PM

Golang实现图片质量压缩的方法随着互联网的迅猛发展,图片已经成为了人们网上交流和信息传递的重要媒介之一。然而,高分辨率的图片不仅会占用大量的存储空间,而且在网络传输时也会增加加载的时间,给用户体验带来一定的影响。因此,在实际应用中,对图片进行压缩是一项非常有意义的工作。本文将介绍如何使用Golang实现对图片质量进行压缩的方法。首先,我们需要导入Gola

Linux服务器日志过大,如何解决?Linux服务器日志过大,如何解决?Jun 29, 2023 pm 11:09 PM

Linux服务器上常见的日志文件太大问题及其解决方法随着互联网的快速发展和服务器的广泛应用,服务器日志文件越来越大成为一个常见的问题。大量的日志数据不仅占用磁盘空间,还可能影响服务器的性能和运行稳定性。本文将讨论Linux服务器上常见的日志文件太大问题,并提供一些解决方法。一、常见的日志文件在Linux服务器上,常见的日志文件包括系统日志、应用程序日志、We

7z和zip哪个无损7z和zip哪个无损Jan 19, 2021 pm 06:37 PM

7z和zip都是无损压缩。7z是一种主流高效的压缩格式,它拥有极高的压缩比;ZIP文件格式是一种数据压缩和文档储存的文件格式。7z压缩比率大些,zip次之;zip格式比较常见支技泛围广,windows操作系统默认支持zip格式。

如何使用Java中的Zip函数进行文件压缩如何使用Java中的Zip函数进行文件压缩Jun 26, 2023 pm 02:10 PM

压缩文件是一种常见的操作,能够节省磁盘的空间以及网络传输的时间,而Java中提供了Zip函数用于实现文件的压缩。本文将通过详细的介绍和实例演示来展示如何使用Java中的Zip函数进行文件压缩。一、Zip函数介绍Zip函数是Java中提供的压缩和打包工具类库,使用该函数可以将文件或文件夹压缩成一个Zip格式的文件。Zip函数中主要使用了ZipOutputStr

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.