Latest web development tutorials

HTTPレスポンスヘッダ

HTTPリクエスト・ヘッダーは、要求、応答、または他の伝送エンティティに関する情報を提供します。

このセクションでは、特定のHTTPレスポンスヘッダを紹介します。

レスポンスヘッダ 説明
許可します

どのサーバー(など、GET、POST、など)要求メソッドをサポートしています。

コンテンツのエンコーディング

ドキュメントのエンコード(エンコード)する方法。 唯一のContent-Typeヘッダを取得することができます復号化した後、コンテンツの種類を指定します。 劇的にHTMLドキュメントのダウンロード時間を減らすことができますgzipで圧縮されたファイルを使用してください。 JavaのGZIPOutputStreamを簡単にgzipで圧縮することができますが、4上のWindows Unix上でのみNetscapeとIE、IE 5は、それをサポートしています。 したがって、サーブレットは、他のブラウザのように通常の状態に戻るには、ブラウザがHTMLページのリターンではgzip、gzipのブラウザのサポートgzip圧縮をサポートしているかどうかを確認するためにAccept-Encodingヘッダー(すなわちrequest.getHeader( "にAccept-エンコーディングを"))を調べることであるべきですページ。

コンテンツ長

コンテンツの長さを表します。 ブラウザが永続的なHTTP接続を使用する場合のみ、このデータを必要としています。 あなたが永続的な接続を利用したい場合は、サイズを確認してから、Content-Lengthヘッダにその値を入れ、最後にbyteArrayStream.writeTo(response.getOutputStream()を介してコンテンツを送信して、出力文書ByteArrayOutputStreamをに書き込む完了することができます。

コンテンツタイプ

これは、次のドキュメントがどのようなMIMEタイプであることを示しています。 サーブレットのデフォルトはtext / plainですが、通常は明示的にテキスト/ htmlとして指定する必要があります。 のでは、多くの場合、コンテンツタイプを設定されているので、HttpServletResponseのは、専用のアプローチに、setContentTypeを提供します。

日付

現在のGMT時刻。 あなたは時間形式を切り替えるのトラブルを避けるために、このsetDateHeaderヘッドを設定することができます。

有効期限

文書の有効期限が切れているとき、それはもはやキャッシュであるように、何が、考慮されるべきではありませんか?

Last-Modifiedの

文書の最終更新時間。 お客様は、If-Modified-Since要求ヘッダー日まで提供することができ、要求はそうでない場合は304(未修正)ステータスを返し、それ以降でのみ指定された時間よりも、文書が返されます変化、条件GETとみなされます。 Last-ModifiedのsetDateHeader方法は、また、設定するために使用することができます。

場所

これは、クライアントが文書を取得するために行く必要があることを示します。 場所は、通常、直接設定するだけでなく、302のステータスコードを設定するのsendRedirect HttpServletResponseの方法は、貫通されていません。

リフレッシュ

これは、ブラウザが秒単位で、どのくらいの時間が経過した後、ドキュメントを更新する必要があることを示します。 外現在のドキュメントを更新する以外にも、のsetHeader(「リフレッシュ "、" 5; URL =のhttp://ホスト/パス ")ができますブラウザが指定されたページを読み込みましょう。
この機能は、HTMLページのHEAD領域を設定することにより、通常であることに注意してください。<META HTTP-EQUIVは= "リフレッシュ" CONTENT = "5; URL =のhttp://ホスト/パス">達成には、それは、理由自動リフレッシュのためまたはリダイレクトHTMLのCGIやサーブレットライターを使用することができない人は非常に重要です。 しかし、サーブレットは、ヘッドをより便利にリフレッシュ直接設定されています。

代わりにの意味は「N秒後のページを更新または指定されたページに移動し、「リフレッシュ注意」ページを更新またはN秒ごとに指定されたページにアクセスします。」 このように、連続リフレッシュがリフレッシュヘッダを送信するために、それぞれを必要とし、204ステータスコードを送信し、それが最新の情報に更新のいずれかの頭や<META HTTP-EQUIV = "リフレッシュ" ...>を使用し、リフレッシュしていきブラウザを防ぐことができます。

注リフレッシュHTTP 1.1ヘッダが、正式な仕様の一部ではなく、拡張子ではなく、NetscapeとIEはそれをサポートしています。

サーバー

サーバー名。 サーブレットは、一般的にこの値を設定していないが、Webサーバ自体によって設定されます。

Set-Cookie

設定とクッキーページが関連付けられています。 サーブレットはresponse.setHeader(「設定・クッキー」を、...)使用すべきではありませんが、あなたはaddCookie HttpServletResponseのが提供する特別なメソッドを使用する必要があります。 以下のCookieの設定に関する説明を参照してください。

WWW認証

お客様は、許可Authorizationヘッダーの種類に関する情報を提供する必要がありますか? 応答ではヘッダーで401(無許可)ステータス行が必要とされるが含まれています。 例えば、response.setHeader(「WWW認証」、「BASICレルムは= \ "幹部は" \します ")。
サーブレットに注意してください一般的にこの点で扱われるが、(.htaccessのような)パスワードで保護されたページへのアクセスを制御するために、Webサーバーの特別なメカニズムを与えることはありません。