画像ファイルをキャッシュしないと、2度目以降アクセス場合、リクエストが発生してしまいます。キャッシュを永続化してリクエストをなくす設定があまりにも簡単だったのでブログします。


■/etc/nginx/conf.d/hoge.conf

上記のように期限は1ヶ月にして、その期限に達していない限り、ブラウザはサーバに問い合わせを行いません。ちなみに期限が切れると以下の挙動になります。


■Caching Process

https://www.nginx.com/blog/nginx-high-performance-caching/

  • 期限が切れているので、そもそもサーバへ問い合わせを行う
  • 条件付きリクエスト(If-Modified-Since、If-None-Match)をサーバへ送る

もちろん条件付きリクエストを送ってくるのは前回のサーバからLast-Modified,Etagを送っている場合のみです。そしてサーバ側は条件付きリクエストがクライアントから送られてくると、変更ありなしを判別して、304を返せば通信量を減らせます。304を受け取った場合は、ブラウザがローカルのキャッシュを利用します。


■まとめ

AWSでCloudFrontを使用しない場合は必須!


カテゴリー: Nginx

adachin

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください