PHP程序加速探索之壓縮輸出gzip
Jun 21, 2016 am 09:15 AM程序|壓縮
??? 利用Apache中的mod_gzip模塊,我們可以利用gzip的壓縮算法來對(duì)Apache服務(wù)器發(fā)布的網(wǎng)頁內(nèi)容進(jìn)行壓縮后再傳輸?shù)娇蛻舳说臑g覽器。如果是純文本的內(nèi)容,效果非常明顯,大約可以壓縮到原來的30%-40%,使用戶的瀏覽速度大大加快。
Gzip需要客戶端瀏覽器支持,目前大部份瀏覽器都支持gzip,如IE,Netscape,Mozilla等,所以這種方法值得一試。我們可以利用PHP中的預(yù)定義變量$_SERVER[‘HTTP_ACCEPT_ENCODING’]來判斷客戶端瀏覽器是否支持gzip。
gzip1.php
if(ereg('gzip',$_SERVER['HTTP_ACCEPT_ENCODING'])) {
//瀏覽器支持
} else {
//瀏覽器不支持,輸出其它內(nèi)容
}
?>
接下來我們對(duì)上面這個(gè)PHP程序進(jìn)行擴(kuò)展,使用ob_start(ob_gzhandler)來將網(wǎng)頁內(nèi)容壓縮,存入緩沖并發(fā)送給支持gzip的瀏覽器,瀏覽器會(huì)自動(dòng)將壓縮后的內(nèi)容解壓,顯示。
gzip2.php
define('MAX',100);
if(ereg('gzip',$_SERVER['HTTP_ACCEPT_ENCODING']))
{
//瀏覽器支持gzip,將內(nèi)容壓縮并緩沖輸出
ob_start("ob_gzhandler");
$output = '';
for($i=0;$i {
$output .= "This is line $i ";
}
echo "瀏覽器支持gzip壓縮輸出";
echo $output;
}
else
{
//瀏覽器不支持,直接輸出
for($i=0;$i {
$output .= "This is line $i ";
}
echo "瀏覽器不支持gzip壓縮輸出 ";
echo $output;
}
?>
使用gzip壓縮生成的網(wǎng)頁的HTTP頭信息與一般的網(wǎng)頁相比中會(huì)多出這樣的信息:
Content-Encoding: gzip
Content-Length: 270
如果你想得到更詳細(xì)的信息,請(qǐng)參看mod_gzip項(xiàng)目主頁:
http://sourceforge.net/projects/mod-gzip/
類似地,我們也可以利用mod_deflate,壓縮率比mod_gzip略低一些。調(diào)用zip函數(shù)需要耗用服務(wù)器內(nèi)存,所以要慎用,視需求而定。

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

HTTP status code 520 means that the server encountered an unknown error while processing the request and cannot provide more specific information. Used to indicate that an unknown error occurred when the server was processing the request, which may be caused by server configuration problems, network problems, or other unknown reasons. This is usually caused by server configuration issues, network issues, server overload, or coding errors. If you encounter a status code 520 error, it is best to contact the website administrator or technical support team for more information and assistance.

How to use NginxProxyManager to implement automatic jump from HTTP to HTTPS. With the development of the Internet, more and more websites are beginning to use the HTTPS protocol to encrypt data transmission to improve data security and user privacy protection. Since the HTTPS protocol requires the support of an SSL certificate, certain technical support is required when deploying the HTTPS protocol. Nginx is a powerful and commonly used HTTP server and reverse proxy server, and NginxProxy

HTTP status code 403 means that the server rejected the client's request. The solution to http status code 403 is: 1. Check the authentication credentials. If the server requires authentication, ensure that the correct credentials are provided; 2. Check the IP address restrictions. If the server has restricted the IP address, ensure that the client's IP address is restricted. Whitelisted or not blacklisted; 3. Check the file permission settings. If the 403 status code is related to the permission settings of the file or directory, ensure that the client has sufficient permissions to access these files or directories, etc.

Understand the meaning of HTTP 301 status code: common application scenarios of web page redirection. With the rapid development of the Internet, people's requirements for web page interaction are becoming higher and higher. In the field of web design, web page redirection is a common and important technology, implemented through the HTTP 301 status code. This article will explore the meaning of HTTP 301 status code and common application scenarios in web page redirection. HTTP301 status code refers to permanent redirect (PermanentRedirect). When the server receives the client's

HTTP Status Code 200: Explore the Meaning and Purpose of Successful Responses HTTP status codes are numeric codes used to indicate the status of a server's response. Among them, status code 200 indicates that the request has been successfully processed by the server. This article will explore the specific meaning and use of HTTP status code 200. First, let us understand the classification of HTTP status codes. Status codes are divided into five categories, namely 1xx, 2xx, 3xx, 4xx and 5xx. Among them, 2xx indicates a successful response. And 200 is the most common status code in 2xx

Quick Application: Practical Development Case Analysis of PHP Asynchronous HTTP Download of Multiple Files With the development of the Internet, the file download function has become one of the basic needs of many websites and applications. For scenarios where multiple files need to be downloaded at the same time, the traditional synchronous download method is often inefficient and time-consuming. For this reason, using PHP to download multiple files asynchronously over HTTP has become an increasingly common solution. This article will analyze in detail how to use PHP asynchronous HTTP through an actual development case.

Explore the causes and solutions of HTTP status code 404 Introduction: In the process of browsing the web, we often encounter HTTP status code 404. This status code indicates that the server was unable to find the requested resource. In this article, we will explore the causes of HTTP status code 404 and share some solutions. 1. Reasons for HTTP status code 404: 1.1 Resource does not exist: The most common reason is that the requested resource does not exist on the server. This may be caused by the file being accidentally deleted, incorrectly named, incorrectly pathed, etc.

Common network communication and security problems and solutions in C# In today's Internet era, network communication has become an indispensable part of software development. In C#, we usually encounter some network communication problems, such as data transmission security, network connection stability, etc. This article will discuss in detail common network communication and security issues in C# and provide corresponding solutions and code examples. 1. Network communication problems Network connection interruption: During the network communication process, the network connection may be interrupted, which may cause
