1。启用保活
HTTP Keep Alive 是指在客户端计算机和 Web 服务器之间发送的请求允许下载文件的消息。启用 Keep Alive 允许客户端计算机下载多个文件而无需重复请求权限,这有助于节省带宽。
要启用 Keep Alive,只需将以下代码复制并粘贴到您的 .htaccess 文件中即可。
<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>
2。禁用图片盗链
当其他网站的“热链接”到您的图片时,它会窃取带宽,从而降低您的网站速度。为防止其他站点占用您的带宽,您可以将此 sn-p 代码添加到您的 .htaccess 文件中。请记住更改显示 your_Domain_name.com 的位!
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?your_Domain_name.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
3。使用 gzip 压缩您的网站
Gzip 是一种用于压缩网站文件以节省带宽并加快页面加载时间的简单方法。 Gzip 的工作原理是将文件压缩成 zip 文件,这样用户浏览器的加载速度会更快。然后用户的浏览器解压缩文件并显示内容。这种将内容从服务器传输到浏览器的方法效率更高,并且节省了大量时间。
您只需将以下代码添加到您的 .htaccess 文件中即可启用 Gzip:
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Or, compress certain file types by extension:
SetOutputFilter DEFLATE
要检查 Gzip 是否在您的网站上启用或正常工作,您可以使用 Gziptest.com。
4。启用过期标头
Expires 标头告诉浏览器是应该从服务器请求特定文件还是应该从浏览器的缓存中获取该文件。
Expires Headers 背后的整个想法不仅是为了减少从服务器下载的负载(在未修改的情况下不断下载相同的文件会浪费宝贵的加载时间),而是为了减少服务器的 HTTP 请求数。
所以在 .htaccess 文件中包含以下内容
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
5。尽可能用静态 HTML 替换 PHP
PHP 非常适合提高您的网站效率并减少多次输入相同信息的需要。但是,通过 PHP 调用信息会占用服务器资源,应该用静态 HTML 替换,这样不会节省任何时间
6。在 HTTP 标头中指定字符集
出于与上述相同的原因,在 HTTP 响应标头中指定字符集很有用,这样浏览器就不必花费额外的时间来确定您正在使用的字符集。
您只需在您网站的部分中添加一个 UTF-8 字符集标记即可。
7。启用输出压缩
可以通过两种方式进行压缩。
Apache 实际上有两个压缩选项:
-
mod_deflate 更容易设置并且是标准的。
-
mod_gzip 似乎更强大:您可以预压缩内容。
文件压缩的两个选项是 Deflate 和 GZIP。
- Deflate 是 Apache 服务器自动附带的一个选项,设置简单。
- 另一方面,GZIP 需要安装并且需要更多的工作来安装。不过,GZIP 确实实现了更高的压缩率,因此如果您的网站使用包含大量图片或文件大小较大的网页,那么 GZIP 可能是更好的选择。
Deflate 又快又好用,所以我用它;如果它能让你的船漂浮,请使用 mod_gzip。无论哪种情况,Apache 都会检查浏览器是否发送了“Accept-encoding”标头并返回文件的压缩版本或常规版本。但是,一些较旧的浏览器可能会出现问题(更多内容见下文),您可以添加一些特殊指令来解决此问题。
zlib.output_compression 是否透明压缩页面。如果
此选项在 php.ini 或 Apache 配置中设置为“On”,
如果浏览器发送“Accept-Encoding: gzip”,页面会被压缩
或“放气”标题。
PHP 默认:禁用
在 Php.ini 中
zlib.output_compression = On
如果您无法更改 .htaccess 文件,您可以使用 PHP 返回压缩内容。为您的 HTML 文件添加 .php 扩展名并将此代码添加到顶部:
在 PHP 中:
<?php
if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’))
ob_start(“ob_gzhandler”); else ob_start();
?>
此部分将打开 apache mod_deflate 模块,该模块在将文本、css 和 javascript 发送到浏览器之前对其进行压缩。这导致更小的下载大小。在 .htaccess 文件中启用它,使其如下所示:
<IfModule mod_deflate.c>
############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip
# Insert filter on all content
SetOutputFilter DEFLATE
# Insert filter on selected content types only
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/javascript application/x-javascript text/xml application/xml application/xhtml+xml image/x-icon image/svg+xml application/rss+xml application/x-font application/x-font-truetype application/x-font-ttf application/x-font-otf application/x-font-opentype application/vnd.ms-fontobject font/ttf font/otf font/opentype
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
**
8。启用缓存、OPcache 和 eAccelerator(另一个 PHP 缓存工具)
Memcache 对于减少数据库负载特别有用,而 APC 或 OPcache 等字节码缓存引擎非常适合在编译脚本时节省执行时间。
9。利用原生 PHP 函数
尽可能利用 PHP 的原生函数,而不是编写自己的函数来获得相同的结果。花一点时间学习如何使用 PHP 的原生函数,不仅可以帮助您更快地编写代码,还可以提高代码的效率。
10.减少不必要的计算
当多次使用同一个变量的值时,请在开始时计算并赋值,而不是每次使用都进行计算。
例如,如果您正在遍历一个数组,请预先对其进行 count() 操作,将值存储在一个变量中,然后将其用于您的测试。这样,您可以避免在每次循环迭代时不必要地触发测试函数。
11.使用最强的 Str 函数
虽然 str_replace 比 preg_replace 快,但 strtr 函数比 str_replace 快四倍。
12.坚持使用单引号
如果可能,请使用单引号而不是双引号。双引号检查变量,这会拖累性能。
13.试试三个等号
由于“= = =”只检查封闭范围,因此比使用“= =”进行比较要快。
14.使用isset()
与
相比
count()、strlen() 和 sizeof(),
isset( ) 是一种更快、更简单的方法来确定一个值是否大于 0。
15.删除不必要的类
如果您不打算多次使用类或方法,那么您实际上并不需要它们。如果必须使用类,请务必使用派生类方法,因为它们比基类中的方法更快。
16.关闭数据库连接
在代码中取消设置变量和关闭数据库连接将节省宝贵的内存。
17.限制您的数据库点击次数
使查询聚合可以减少对数据库的命中次数,从而使事情运行得更快。