PHPヘッダ関数の応用

Jun 13, 2016 pm 01:07 PM
cache content expires header http

PHPヘッダ関数の利用

Web ページのキャッシュは、HTTP メッセージ ヘッダーの「Cache-control」によって制御されます。一般的な値には、private、no-cache、max-age、must-revalidate などが含まれます。デフォルトは private です。その機能は、さまざまな再閲覧方法に応じて次の状況に分類されます:

(1) 新しいウィンドウを開きます
?? 値がプライベート、キャッシュなし、再検証が必要な場合、新しいウィンドウが開かれたときにサーバーに再度アクセスします。
max-age 値が指定されている場合、この値内ではサーバーは再度アクセスされません。例:
キャッシュ制御: max-age=5 (5 秒以内にこの Web ページに再度アクセスすると、サーバーにアクセスしないことを示します)

(2)アドレスバーに入力
?? 値がプライベートまたは再検証が必要な場合、サーバーには最初のアクセス時にのみアクセスされ、再度アクセスされることはありません。
?? 値が no-cache の場合、毎回アクセスされます。
?? 値が max-age の場合、有効期限が切れる前に再度アクセスすることはできません。

(3)戻るボタンを押します
?? 値が private、must-revalidate、max-age の場合、再訪されません。
?? 値が no-cache の場合、 は毎回繰り返しアクセスされます。

(4) 更新ボタンを押します
値に関係なく、 は繰り返しアクセスされます

キャッシュ制御値が「no-cache」の場合、このページにアクセスしても、インターネットの一時記事フォルダーにページのバックアップは残りません。

さらに、「Expires」値を指定すると、キャッシュにも影響が及ぶ可能性があります。たとえば、[Expires] の値が長期間経過した時間として指定されている場合、この Web サイトにアクセスするときにアドレス バーで Enter キーを繰り返し押すと、アクセスは毎回繰り返されます: Expires: Fri, 31 Dec 1999 16:00 :00 GMT

例: IE でページ キャッシュを無効にする

http 応答メッセージのヘッダー設定:

CacheControl = キャッシュなし
プラグマ=キャッシュなし
有効期限 = -1

サーバー上の Web ページが頻繁に変更される場合は、有効期限を -1 に設定して即時有効期限を示します。 Web ページが毎日午前 1 時に更新される場合、有効期限を翌日の午前 1 時に設定できます。

HTTP1.1 サーバーが CacheControl = no-cache を指定すると、ブラウザは Web ページをキャッシュしません。

レガシー HTTP 1.0 サーバーは Cache-Control ヘッダーを使用できません。
したがって、HTTP 1.0 サーバーとの下位互換性を保つために、IE は Pragma:no-cache ヘッダーを使用して HTTP に対する特別なサポートを提供します。
クライアントが安全な接続 (https://)/ を介してサーバーと通信し、サーバーが応答で Pragma:no-cache ヘッダーを返す場合、
Internet Explorer はこの応答をキャッシュしません。注: Pragma:no-cache は、安全な接続で使用される場合にのみキャッシュを防止します。安全でないページで使用された場合、処理は Expires:-1 と同じになりますが、ページはすぐに期限切れとしてマークされます。 ヘッダー共通コマンド
ヘッダーは 3 つの部分に分かれています:
最初の部分は HTTP プロトコルのバージョン (HTTP-Version) です。
2 番目の部分はステータス コード (ステータス)
3 番目のパートは理由フレーズです。

//404 ページを修正します: ? URL 書き換えによって生成された 404 ヘッダーを解決するには、このヘッダー コマンドを使用しますか?
ヘッダー('HTTP/1.1 200 OK') ??
?
? // 404 ヘッダーを設定します: ? ページが見つかりません
header('HTTP/1.1 404 が見つかりません') ??
?
? //ページは完全に削除され、検索エンジンに URL を更新するように指示できます
// Moved Permanently ヘッダーを設定します (リダイレクトに適しています) ??
// location ヘッダーで使用します ??
header('HTTP/1.1 301 が永久に移動されました') ?

// アクセス制限
header('HTTP/1.1 403 禁止');

// サーバーエラー
header('HTTP/1.1 500 内部サーバー エラー');
?
? //新しい場所にリダイレクト
// 新しい場所にリダイレクトします: ??
header('場所: http://www.sina.com.cn) ??
??
遅延後にリダイレクト
// 遅延を伴うリダイレクト: ??
header('更新: 10; url=http://www.sina.com.cn') ??
print '10 秒後にリダイレクトされます' ??;
??
// X-Powered-By 値をオーバーライドします
// X-Powered-By: PHP: ?? をオーバーライドします。
header('X-Powered-By: PHP/4.4.0') ??
header('X-Powered-By: Brain/0.6b') ??
??
// コンテンツ言語 (en = 英語)
// コンテンツ言語 (en = 英語) ??
header('コンテンツ言語: en') ??
??
//最終変更時刻 (キャッシュ時に使用可能)
// 最終更新日 (キャッシュに適しています) ??
$time = time() - 60; // または filemtime($fn) など ??
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT') ??
??
// 取得するコンテンツが更新されていないことをブラウザに伝えます
// コンテンツがブラウザに通知されるためのヘッダー ??
// 変更されませんでしたか ??
header('HTTP/1.1 304 未変更') ??
??
//コンテンツの長さを設定します (キャッシュするときに使用できます):
// コンテンツの長さを設定します (キャッシュに適しています): ??
header('Content-Length: 1234') ??
??
// ファイルのダウンロードに使用されます:
// ダウンロード用ヘッダー: ??
header('Content-Type: application/octet-stream'); ??
header('Content-Disposition:attachment; filename="example.zip"'); ??
header('コンテンツ転送エンコーディング: バイナリ') ??
??
//現在のドキュメントのキャッシュを無効にします:
// 送信するファイルをロードします:readfile('example.zip') ??
// 現在のドキュメントのキャッシュを無効にします: ??
header('Cache-Control: no-cache、no-store、max-age=0、must-revalidate') ??
header('有効期限: 1997 年 7 月 26 日月曜日 05:00:00 GMT') ?

//コンテンツタイプを設定します:
// pastheader('Pragma: no-cache') ??;
// コンテンツタイプを設定します: ??
header('Content-Type: text/html; charset=iso-8859-1'); ??
header('Content-Type: text/html; charset=utf-8'); ??
header('Content-Type: text/plain'); ??
??
// プレーンテキスト ファイル ??
header('Content-Type: image/jpeg') ?
??
// JPG 写真 ??
header('Content-Type: application/zip') ?
??
// ZIP ファイル ??
header('Content-Type: application/pdf') ?
??
// PDF ファイル ??
header('Content-Type: audio/mpeg') ?
??
// オーディオ MPEG (MP3,...) ファイル ??
header('Content-Type: application/x-shockwave-flash') ?
??
// HTTP 認証に使用できるログイン ダイアログ ボックスを表示します
// Flash アニメーション// サインイン ボックスを表示 ??
header('HTTP/1.1 401 Unauthorized') ??
header('WWW-Authenticate: Basic realm="Top Secret"') ??
print 'ユーザーがキャンセルまたは ' ?? を押した場合に表示されるテキスト
print '間違ったログイン データが入力されました';?>

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

http ステータス コード 520 は何を意味しますか? http ステータス コード 520 は何を意味しますか? Oct 13, 2023 pm 03:11 PM

HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

Linuxヘッダーとはどういう意味ですか? Linuxヘッダーとはどういう意味ですか? Jul 18, 2023 pm 03:34 PM

Linux ヘッダーは、コンテンツに関するメタデータを含めるために使用されるファイルまたはデータ ストリームの先頭を指します。ヘッダー ファイルを正しく記述して使用することで、開発者はシステム リソースをより有効に活用し、コードの可読性と保守性を向上させることができます。

入社してキャッシュとは何かを理解した 入社してキャッシュとは何かを理解した Jul 31, 2023 pm 04:03 PM

実際は次のようなものです。当時、私のリーダーは私に perf ハードウェア パフォーマンス監視タスクを与えました。perf を使用するプロセス中に、コマンド perf list を入力すると、次の情報が表示されました。私のタスクは、これらのキャッシュ イベントを有効にすることです。しかし重要なのは、これらのミスやロードが何を意味するのか全く分からないということです。

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

httpステータスコード403とは何ですか? httpステータスコード403とは何ですか? Oct 07, 2023 pm 02:04 PM

HTTP ステータス コード 403 は、サーバーがクライアントの要求を拒否したことを意味します。 http ステータス コード 403 の解決策は次のとおりです: 1. 認証資格情報を確認します。サーバーが認証を必要とする場合は、正しい資格情報が提供されていることを確認します。2. IP アドレス制限を確認します。サーバーが IP アドレスを制限している場合は、クライアントの IP アドレスは制限されています。ホワイトリストに登録されているか、ブラックリストに登録されていません。3. ファイルのアクセス許可設定を確認します。403 ステータス コードがファイルまたはディレクトリのアクセス許可設定に関連している場合は、クライアントがこれらのファイルまたはディレクトリにアクセスするための十分なアクセス許可を持っていることを確認してください。等

httpリクエスト415エラーの解決策 httpリクエスト415エラーの解決策 Nov 14, 2023 am 10:49 AM

解決策: 1. リクエスト ヘッダーの Content-Type を確認する; 2. リクエスト本文のデータ形式を確認する; 3. 適切なエンコード形式を使用する; 4. 適切なリクエスト メソッドを使用する; 5. サーバー側のサポートを確認する。

クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 Sep 12, 2023 pm 01:15 PM

クイック アプリケーション: PHP の実践的な開発ケース分析 複数ファイルの非同期 HTTP ダウンロード インターネットの発展に伴い、ファイル ダウンロード機能は多くの Web サイトやアプリケーションの基本的なニーズの 1 つになりました。複数のファイルを同時にダウンロードする必要があるシナリオでは、従来の同期ダウンロード方法は非効率的で時間がかかることがよくあります。このため、PHP を使用して HTTP 経由で複数のファイルを非同期にダウンロードするソリューションがますます一般的になってきています。この記事では、実際の開発事例を通して、PHP 非同期 HTTP の使用方法を詳しく分析します。

See all articles