1-- nginxのサーバー] [高性能 - 11 nginxの+ Tomcatの静的および動的分離

1 动态页面静态页面の違い

静态资源:複数のユーザーがリソースにアクセスすると、资源的源代码リソースが変更されることはありません。

动态资源:複数のユーザーがリソースにアクセスすると、ソースコードのリソースは、変更を送信することができます。

2静的および動的分離とは何ですか

静的および動的な分離は、資源の動きは、我々はキャッシュ操作を行うための静的リソースの特性に応じてすることができ、分割後行うには、一定のルールに従った動的なページが同じリソースを区別するための動的なWebサイトを作ることであり、多くの場合、リソース領域となりますこれは、サイトの静的なプロセスの核となるアイデアです。

静的および動的な分離の簡単な概要は次のとおりです。動的および静的ファイル、ファイルの分離

3なぜ使用静的および動的分離

当社のソフトウェア開発では、バックグラウンド処理を(例えば:必要とするいくつかの要求は.jsp.doなど)、いくつかは、リクエストにスプール必要はありません(例えば:csshtmljpgjsなどのファイル)バックグラウンド処理ファイルを必要としません、静的ファイル、または動的ファイルと呼ばれます。私たちは、静的なバックグラウンド処理のファイルを無視ので。それは私が背景静的ファイルがまだ終了していない無視するだろうと述べました。もちろん、これは可能ですが、リクエストの数が背景に大幅に増加していること。私たちはスピードの要求に対応するためのリソースを持っているとき、私たちは分離運動を解決するために、この戦略を使用する必要があります。

静的および動的な分離ウェブサイトの静的リソース(HTMLJavaScriptCSSimgおよび他の文書)とバックオフィスアプリケーションはバックグラウンドへのアプリケーションアクセスを減らし、ユーザアクセスの静的コードの速度を向上させる、個別にデプロイ。ここでは、静的リソース入れますnginx、に転送動的リソースtomcatサーバーを。

そのため、動的なリソースはに転送tomcat我々はの話の前にリバースプロキシを使用する必要がありますサーバー。

4静的および動的な分離原理

静的および動的な分離原理によって、単純でlocation要求url特定の構成に一致する次の通りであります:

    ### 静态资源访问
    server {
        listen       80;
        server_name  static.test.com;
        location /static/imgs {
            root F:/;
            index  index.html index.htm;
        }
    }
    ### 动态资源访问
    server {
        listen       80;
        server_name  www.test.com;

        location / {
            proxy_pass http://127.0.0.1:8080;
            index  index.html index.htm;
        }
    }

テスト:

起動しNginx、サーバーを、ブラウザの訪問:http://static.test.com/static/imgs/a.png

ローカル検索F:/static/imgs/a.png、画像、表示画像を、これは静的なサーバーアクセスです。

場合はJSP、画像のアドレスの導入は、サイトには、静的および動的分離で達成することができます。

5キャッシュ静的リソース

なぜインターネット企業は、プロジェクトで、静的リソースがURL戻ってタイムスタンプを追加しますか?

役割:控制缓存

実際のプロジェクトでは、ブラウザのキャッシュのリリースバージョンは、サーバー側のコードとの競合が原因である可能性が場合に発生します。

今度は、静的リソース、各リリースバージョンの対応する時間にタイムスタンプが続く要求することができます。

6 HTTP 304ステータスコード

304 実際のステータスコードは、ローカルキャッシュを取っています

クライアントがファイルを要求すると、ファイルキャッシュが自分自身を発見Last Modified、それは要求に含まれますIf Modified Since、時間がファイルをキャッシュされていますLast Modified要求が含まれている場合はこのように、If Modified Sinceそれはクライアントにキャッシュがあることを示しています。限りサービス側として現在の要求ファイルを決定するために、この時間と変更時間は、リターンを決定することができます304200

以下のような静的ファイルについて:CSS、画像、サーバが自動的に完了しますLast Modifiedと、If Modified Since比較的完全またはキャッシュを更新します。しかし、動的なページのために、ページが動的に頻繁に含まれていませんが、生成されたLast Modifiedゲートウェイのキャッシュは、あること、毎回リクエストが完了して行うことはありませんので、このようなブラウザを情報を200要求します。

したがって、最初にキャッシュなどの動的ページのための加速度ResponseHTTP Header増加Last Modified定義は、に応じて、続いて戻り、要求されたコンテンツ更新、または戻りますが、時間がデータベースクエリを作ったが、次のより多くのデータベースクエリを回避し、しているページのコンテンツにだけではなく、戻り大幅ユーザー感のための帯域幅の消費を減らすことが、改善されています。RequestIf Modified Since200304304HTTP Header

675元記事公開 ウォンの賞賛214 ビューに14万+を

おすすめ

転載: blog.csdn.net/weixin_42112635/article/details/104977964