7.1 キープアライブヘッダー
他にも役立つタイトルがいくつかあります。Keep-Aliveヘッダーは、サーバーに接続を開いたままにするように指示します。サーバーは、応答を送信した直後には接続を閉じません。これにより、同じクライアントからサーバーへの次のリクエストがより速く完了します。
このようなヘッダーの例は次のとおりです。
Connection: Keep-Alive
しかし、すべてのクライアントが永続的な接続を必要とする場合、サーバーで問題が発生します。サーバーは利用できなくなるか、自動的に接続を閉じ始めます。
7.2 キャッシュ制御ヘッダー
Cache-Controlヘッダーを使用して、コンテンツのキャッシュを制御できます。キャッシュを適切に構成するとコンテンツの操作が高速化されますが、キャッシュが不適切に構成されていると突然問題が発生します。
キャッシュを無効にするには、次のヘッダーを記述する必要があります。
Cache-Control: no-cache, no-store, must-revalidate
クライアント要求からもサーバー応答からも、キャッシュには何も保存しないでください。リクエストは常にサーバーに送信され、レスポンスは常に完全にダウンロードされます。
最も原始的で信頼性の高いタイプのキャッシュを有効にすることもできます。
Cache-Control: no-cache
コピーを配布する前に、キャッシュはオリジン サーバーにクエリを実行して、リソースが最新かどうかを確認します。
リソースのキャッシュ時間を秒単位で指定できます。見出しは次のようになります。
Cache-Control: max-age=31536000
このヘッダーは、コンテンツの最大キャッシュ時間を指定します。
キャッシュの詳細については、こちらをご覧ください。
7.3 クッキー
サーバーはクライアント側にデータを保存できます。このようなデータはCookie と呼ばれます。ただし、クライアントは Cookie を保存することもできます。彼らは双方にとって非常に役に立ちます。
たとえば、サイトにアクセスすると、そのサイトではすでに承認されています。つまり、前回ログインしたときに、サーバーはブラウザに、特定のユーザーのログイン成功に関する情報を保存するように命令しました。
リクエスト内の Cookie は次のようになります。
Cookie: name=value;name2=value2;nameN=valueN00
Cookie は通常、ブラウザによって保存され、特定のドメインに関連付けられます。同じドメインに再度アクセスすると、HTTP リクエストと http レスポンスに Cookie が自動的に追加されます。サーバー/ドメインは、別のサーバー/ドメインによってブラウザに保存されている Cookie を受信できません。
各 Cookie には 4 つの主要パラメータがあります。
- 名前;
- 意味;
- 有効期限(保管期間)。
- Cookie がバインドされているドメイン。
Cookie はテキスト形式で保存および送信されるため、名前と値は両方とも文字列になります。Cookie の有効期限が指定されていない場合、Cookie はブラウザを閉じた後に破棄されます。
7.4セッション
ユーザーがサイトにログインすると、サイトとサーバーの間にセッションが確立されたと言われます。
サーバーは、それ自体に特別なオブジェクトを作成し、HttpSession,
そこに、許可されたクライアントと連携するために必要なすべての情報を保存します。そして、このオブジェクトの一意の番号は Cookie の形式でブラウザに保存されます。
Java Web サーバーは通常、名前を使用してJSESSIONID
セッション ID を保存します。次のようになります。
Cookie: JSESSIONID =ABAD1D
サーバー側では、セッションの存続期間と、ブラウザを閉じたときにセッションを自動的に閉じるかどうかを設定できます。
GO TO FULL VERSION