ホームページ  >  記事  >  バックエンド開発  >  PHP はページブラウザのキャッシュを制御し、gzip 送信を有効にします_PHP チュートリアル

PHP はページブラウザのキャッシュを制御し、gzip 送信を有効にします_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:50:21825ブラウズ

この記事では、PHP でページ ブラウザーのキャッシュを制御し、gzip ページ送信を有効にする方法を紹介します。同時に、サーバー権限を持たない友人がサーバーの gzip ページ送信を実装できることを願っています。こちらです。

phpインスタンスのgzip転送ページ

サーバー権限がある場合は、Apacheを参照してgzip送信を有効にすることができます
コードは次のとおりです コードをコピー

静的リソースとHTMLページに使用でき、変更すれば他の言語にも適応できます

//キャッシュの有効期限 (キャッシュ制御、http1.1 プロトコル)、使用を推奨します
$secs = 0 //秒
; header("キャッシュ制御: s-maxage=$secs、max-age=$secs、must-revalidate、proxy-revalidate");

//キャッシュの有効期限は 24 時間です (期限切れ)
$オフセット = 3600 * 24;
$expire = "有効期限: " . gmdate("D, d M Y H:i:s", time() + $offset) . ヘッダー($期限切れ)

//Last-Modified、最終変更時刻

$gmt_mtime = gmdate('D, d M Y H:i:s', time() ) . header("最終更新日: " . $gmt_mtime );
//gzip圧縮を有効にする
ob_start();

...あなたのPHPコード...

...あなたのPHPコード...
...あなたのPHPコード...
header('Content-Length: ' . ob_get_length());
ob_end_flush();


1. httpd.conf ファイルを見つけて開き、次のファイルを見つけます

LoadModule deflate_module modules/mod_deflate.so


mod_deflate.so モジュールはデフォルトで閉じられているため、先頭の # を削除します。これを見てください

2 番目に、現在のコードを httpd.conf ファイルの最後に追加します。

コードは次のとおりです

コードをコピー SetOutputFilter DEFLATE Deflate圧縮レベル 5www.bkjia.com
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript





Apacheを再起動するとKOになります

iis は gzip ページ送信を可能にします

1. インターネット インフォメーション サービス (IIS) マネージャーを開き、[Web サイト] -> [プロパティ] を右クリックし、[サービス] を選択します。 「HTTP 圧縮」ボックスで「アプリケーション ファイルの圧縮」と「静的ファイルの圧縮」を選択し、必要に応じて「一時ディレクトリ」と「一時ディレクトリの最大制限」を設定します。

2. インターネット インフォメーション サービス (IIS) マネージャーで、[Web サービス拡張機能] - [新しい Web サービス拡張機能の追加...] を右クリックし、[新しい Web サービス拡張機能] に拡張機能名「HTTP Compression」を入力します。ボックス」に「必要なファイル」を C: WINDOWSsystem32inetsrvgzip.dll として追加します。Windows システム ディレクトリはインストールによって異なる場合があります。「拡張機能のステータスを許可に設定する」にチェックを入れます。

3. テキスト エディターを使用して C:WindowsSystem32inetsrvMetaBase.xml を開きます (最初にバックアップすることをお勧めします)。

Location="/LM/W3SVC/Filters/Compression/gzip を見つけて gzip 圧縮を設定します。

Location="/LM/W3SVC/Filters/Compression/deflate" を見つけて、deflate 圧縮を設定します。 上の 2 つのノードは隣り合っています。設定されているプロパティも同じです。

動的ファイルを圧縮する必要がある場合は、HcDoDynamicCompression を "TRUE" に設定します。

そして、HcScriptFileExtensions に圧縮したい動的ファイルのサフィックス (aspx など) を追加します。

静的ファイルを圧縮する必要がある場合は、HcDoStaticCompression と HcDoOnDemandCompression を "TRUE" に設定します。

そして、HcFileExtensions に圧縮する必要がある静的ファイルのサフィックス名 (xml、css など) を追加します。

HcDynamicCompressionLevel と HcOnDemandCompLevel は必要な圧縮率を表し、値は 0 ~ 10 で、デフォルトは 0 です。

HcDynamicCompressionLevel プロパティの説明: HcDynamicCompressionLevel メタベース プロパティ

HcOnDemandCompLevel プロパティの説明: HcOnDemandCompLevel メタベース プロパティ

注: 一般的には、これら 2 つの属性値を最もコストパフォーマンスの高い 9 に設定することをお勧めします。

注意

1. MetaBase.xml を編集する前に IIS を停止する必要があります。net stop iisadmin を使用できます。

2. 変更が完了したら、iisadmin サービスを起動し、iisreset コマンドを実行します

SEOテストについて

圧縮はSEOに影響を及ぼしますか? テスト後、有効にした後も十分に含めることができます。

SEOへの影響に関する研究記事については、以下の記事も参照できます。

特定の効率の問題は研究のために引き続き監視されます

http://www.bkjia.com/PHPjc/632650.html
tru​​e

http://www.bkjia.com/PHPjc/632650.html技術記事この記事では、PHP でページ ブラウザのキャッシュを制御し、gzip でページを送信できるようにする方法を紹介します。このコードがサーバー権限を持たない友人にとって役立つことを願っています。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。