1 动态页面
と静态页面
の違い
静态资源
:複数のユーザーがリソースにアクセスすると、资源的源代码
リソースが変更されることはありません。
动态资源
:複数のユーザーがリソースにアクセスすると、ソースコードのリソースは、変更を送信することができます。
2静的および動的分離とは何ですか
静的および動的な分離は、資源の動きは、我々はキャッシュ操作を行うための静的リソースの特性に応じてすることができ、分割後行うには、一定のルールに従った動的なページが同じリソースを区別するための動的なWebサイトを作ることであり、多くの場合、リソース領域となりますこれは、サイトの静的なプロセスの核となるアイデアです。
静的および動的な分離の簡単な概要は次のとおりです。動的および静的ファイル、ファイルの分離
3なぜ使用静的および動的分離
当社のソフトウェア開発では、バックグラウンド処理を(例えば:必要とするいくつかの要求は.jsp
、.do
など)、いくつかは、リクエストにスプール必要はありません(例えば:css
、html
、jpg
、js
などのファイル)バックグラウンド処理ファイルを必要としません、静的ファイル、または動的ファイルと呼ばれます。私たちは、静的なバックグラウンド処理のファイルを無視ので。それは私が背景静的ファイルがまだ終了していない無視するだろうと述べました。もちろん、これは可能ですが、リクエストの数が背景に大幅に増加していること。私たちはスピードの要求に対応するためのリソースを持っているとき、私たちは分離運動を解決するために、この戦略を使用する必要があります。
静的および動的な分離ウェブサイトの静的リソース(HTML
、JavaScript
、CSS
、img
および他の文書)とバックオフィスアプリケーションはバックグラウンドへのアプリケーションアクセスを減らし、ユーザアクセスの静的コードの速度を向上させる、個別にデプロイ。ここでは、静的リソース入れます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
それはクライアントにキャッシュがあることを示しています。限りサービス側として現在の要求ファイルを決定するために、この時間と変更時間は、リターンを決定することができます304
か200
。
以下のような静的ファイルについて:CSS、画像、サーバが自動的に完了しますLast Modified
と、If Modified Since
比較的完全またはキャッシュを更新します。しかし、動的なページのために、ページが動的に頻繁に含まれていませんが、生成されたLast Modified
ゲートウェイのキャッシュは、あること、毎回リクエストが完了して行うことはありませんので、このようなブラウザを情報を200
要求します。
したがって、最初にキャッシュなどの動的ページのための加速度Response
のHTTP Header
増加Last Modified
定義は、に応じて、続いて戻り、要求されたコンテンツ更新、または。戻りますが、時間がデータベースクエリを作ったが、次のより多くのデータベースクエリを回避し、しているページのコンテンツにだけではなく、戻り大幅ユーザー感のための帯域幅の消費を減らすことが、改善されています。Request
If Modified Since
200
304
304
HTTP Header