ホームページ バックエンド開発 PHPチュートリアル キャッシュ制御ヘッダーの制御方法を教えてください(私が作成したキャッシュ関数に影響します)

キャッシュ制御ヘッダーの制御方法を教えてください(私が作成したキャッシュ関数に影響します)

Jun 13, 2016 pm 12:26 PM
cache control

キャッシュ制御ヘッダーの制御方法を教えてください (私が作成したキャッシュ関数に影響します)
etag とファイル キャッシュに依存して処理する PHP 制御のキャッシュを作成しました
ブラウザーが etag を送信する場合は、比較しますetag が一致している場合は、304 を直接送信します。etag が一致していない場合は、ファイル キャッシュを直接読み取り、現在のサーバー キャッシュの etag
を送信します (ファイル キャッシュと etag の更新は

ここで、突然応答が 304 を返さないことに気付きました。確認したところ、このアドレスのサーバーの http 応答ヘッダーが、cache-control: no-cache
を返していたことがわかりました。サーバーのキャッシュがチェックされ、サーバーは最初の応答を自動的に送信します (私の etag も送信されます)。その結果、サーバー側にキャッシュがあるかどうかに関係なく、ブラウザーは追加されません。 etag をリクエスト ヘッダーに追加しても、サーバーはそれを処理するときに受信しません。etag に対しては、それが最初のリクエストとみなされ、ファイル キャッシュが再読みされて、etag が再度送信されます... (応答 200)

大体こんな感じですが、これでは使いたいものが失われます 304 ダイレクトキャッシュの効果が出てきます。

違いを見ると、通常のデータ、約 10KB は正常に実行されています (キャッシュなしの最初のリクエストは 130 ミリ秒、キャッシュありの最初のリクエストは 90 ミリ秒、その後は 16 ミリ秒以下)
しかし、これは304 を送信しない場合 (常に (キャッシュなし送信)、データは 304B のみです (ただし、キャッシュ モジュールなしでも、サーバーの計算により約 90 ミリ秒かかります)。
データの返送が一貫していないことが原因でしょうか。この 304B データは 12KB に拡張され、キャッシュなしヘッダーは引き続き送信され、20kB への増加は同じです。

それから私は混乱しました...何が起こったのか分かりません。

(天地の良心、すべてのコードは私によって書かれており、1 つのヘッダー (etag) を除いて他の etag は一切送信されません)
-----解決策のアイデア- --------------------
その理由は何ですか?
ノーキャッシュを送信し続けるのはなぜですか?おそらくサーバーの設定が原因だと思われます。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

入社してキャッシュとは何かを理解した 入社してキャッシュとは何かを理解した Jul 31, 2023 pm 04:03 PM

実際は次のようなものです。当時、私のリーダーは私に perf ハードウェア パフォーマンス監視タスクを与えました。perf を使用するプロセス中に、コマンド perf list を入力すると、次の情報が表示されました。私のタスクは、これらのキャッシュ イベントを有効にすることです。しかし重要なのは、これらのミスやロードが何を意味するのか全く分からないということです。

キャッシュを使用するとコンピュータの速度が向上するのはなぜですか? キャッシュを使用するとコンピュータの速度が向上するのはなぜですか? Dec 09, 2020 am 11:28 AM

キャッシュを使用すると、CPU の待ち時間が短縮されるため、コンピューターの速度が向上します。キャッシュは、CPU とメイン メモリ DRAM の間に位置する小さいながらも高速なメモリです。キャッシュの機能はCPUのデータ入出力速度を高めることであり、キャッシュは容量は小さいが速度が速く、メモリは速度は低いが容量が大きいため、スケジューリングアルゴリズムを最適化することでシステムのパフォーマンスを向上させることができます。大幅に改善されました。

キャッシュとは何ですか? キャッシュとは何ですか? Nov 25, 2022 am 11:48 AM

キャッシュはキャッシュメモリと呼ばれ、中央処理装置とメインメモリの間にある高速かつ小容量のメモリで、通常は高速SRAMで構成され、CPU向けのこの種のローカルメモリが導入されています。 CPU とメモリ間の速度差がシステム パフォーマンスに及ぼす影響を軽減または排除します。キャッシュ容量は小さいですが高速、メモリ速度は遅いですが容量は大きく、スケジューリングアルゴリズムを最適化することでシステムのパフォーマンスが大幅に向上します。

キャッシュ、rom、ramの特徴は何ですか? キャッシュ、rom、ramの特徴は何ですか? Aug 26, 2022 pm 04:05 PM

キャッシュの特徴:CPUとメインメモリの間に設けられた1層または2層の高速かつ小容量のメモリで、コンピュータの電源を切ると情報は自然に失われます。 ROM の特性: メモリからデータを読み取ることのみが可能ですが、情報を書き込むことはできず、コンピュータの電源を切ってもデータは残ります。 ram の特性: メモリからデータを読み取り、メモリに情報を書き込むことができます。プログラムの実行に必要なコマンド、プログラム、およびデータを保存するために使用されます。コンピュータの電源がオフになると、情報は自然に失われます。

nginx リバースプロキシキャッシュのチュートリアル。 nginx リバースプロキシキャッシュのチュートリアル。 Feb 18, 2024 pm 04:48 PM

nginx リバース プロキシ キャッシュのチュートリアルは次のとおりです。 nginx のインストール: sudoaptupdatesudoaptinstallnginx リバース プロキシの構成: nginx 構成ファイルを開きます: sdonano/etc/nginx/nginx.conf キャッシュを有効にするには、http ブロックに次の構成を追加します: http{...proxy_cache_path /var/cache/nginxlevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;proxy_cache

SpringBootプロジェクトでキャッシュを使用する方法 SpringBootプロジェクトでキャッシュを使用する方法 May 16, 2023 pm 02:34 PM

Preface キャッシュは、頻繁にアクセスされるデータをメモリに保存し、データベースなどの基盤となるデータ ソースへの負担を軽減することで、システムのパフォーマンスと安定性を効果的に向上させることができます。誰もがプロジェクトで多かれ少なかれこれを使用したことがあると思いますが、私たちのプロジェクトも例外ではありませんでしたが、最近会社のコードをレビューしていたとき、非常に愚かでレベルの低い記述でした。 {Useruser=cache.getUser();if(user!=null){returnuser;}//データベースからユーザーを取得=loadFromDB(id);cahce.put(id,user);returnu

Nginx キャッシュの構成計画と、関連するメモリ使用量の問題を解決する方法 Nginx キャッシュの構成計画と、関連するメモリ使用量の問題を解決する方法 May 23, 2023 pm 02:01 PM

nginx キャッシュの 5 つのオプション キャッシュ 1. 従来のキャッシュの 1 つ (404) この方法では、nginx の 404 エラーをバックエンドに送り、proxy_store を使用してバックエンドから返されたページを保存します。設定: location/{root/home/html/;#ホームディレクトリexpires1d;#Webページの有効期限error_page404=200/fetch$request_uri;#404 /fetchディレクトリに誘導される} Location/fetch/{#404ここに指定されています内部 ;#このディレクトリは外部から直接アクセスできないことを示します

Spring Cache に基づいて Caffeine+Redis の 2 次キャッシュを実装する方法 Spring Cache に基づいて Caffeine+Redis の 2 次キャッシュを実装する方法 Jun 01, 2023 am 10:13 AM

詳細は次のとおりです。 1. ハードコーディングされたキャッシュとは何ですか? SpringCache を学ぶ前は、ハードコーディングされた方法でキャッシュを使用することがよくありました。実際の例を見てみましょう。ユーザー情報のクエリ効率を向上させるために、ユーザー情報のキャッシュを使用します。サンプル コードは次のとおりです: @AutowireprivateUserMapperuserMapper; @AutowireprivateRedisCacheredisCache;//ユーザーをクエリ publicUsergetUserById(LonguserId){//キャッシュを定義しますkeyStringcacheKey= "userId_

See all articles