検索
PHPヘッダ関数の応用Jun 13, 2016 pm 01:07 PM
cachecontentexpiresheaderhttp

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 までご連絡ください。
Springboot怎么使用内置tomcat禁止不安全HTTPSpringboot怎么使用内置tomcat禁止不安全HTTPMay 12, 2023 am 11:49 AM

Springboot内置tomcat禁止不安全HTTP方法1、在tomcat的web.xml中可以配置如下内容让tomcat禁止不安全的HTTP方法/*PUTDELETEHEADOPTIONSTRACEBASIC2、Springboot使用内置tomcat没有web.xml配置文件,可以通过以下配置进行,简单来说就是要注入到Spring容器中@ConfigurationpublicclassTomcatConfig{@BeanpublicEmbeddedServletContainerFacto

JAVA发送HTTP请求的方式有哪些JAVA发送HTTP请求的方式有哪些Apr 15, 2023 am 09:04 AM

1.HttpURLConnection使用JDK原生提供的net,无需其他jar包,代码如下:importcom.alibaba.fastjson.JSON;importjava.io.BufferedReader;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.net.HttpURLConnection;

入职后,我才明白什么叫Cache入职后,我才明白什么叫CacheJul 31, 2023 pm 04:03 PM

事情其实是这样的,当时领导交给我一个perf硬件性能监视的任务,在使用perf的过程中,输入命令perf list,我看到了以下信息:我的任务就要让这些cache事件能够正常计数,但关键是,我根本不知道这些misses、loads是什么意思。

linux的header是什么意思linux的header是什么意思Jul 18, 2023 pm 03:34 PM

linux的header是指在文件或数据流中的开头部分,用于包含关于内容的元数据,通过正确地编写和使用Header文件,开发者能够更好地利用系统资源,提高代码的可读性和可维护性。

SpringBoot怎么通过Feign调用传递Header中参数SpringBoot怎么通过Feign调用传递Header中参数May 16, 2023 pm 08:38 PM

【SpringBoot】通过Feign调用传递Header中参数如何通过Feign传递Header参数问题描述我们在SpringCloud中使用Feign请求另一个服务的Api接口时,有将Header中参数传递下去的需求,如果不做特殊处理,就会将Header中的参数丢失。解决方案方案一:通过@RequestHeader(name="headerName")来传递例如:Feign定义如下@FeignClient(name="service-name")pub

Nginx中HTTP的keepalive怎么配置Nginx中HTTP的keepalive怎么配置May 12, 2023 am 11:28 AM

httpkeepalive在http早期,每个http请求都要求打开一个tpcsocket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次tcp连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少time_wait状态连接,以此提高性能和提高httpd服务器的吞吐率(更少的tcp连接意味着更少的系统内核调用,socket的accept()和close()调用)。但是,keep-ali

使用cache可以提高计算机运行速度这是因为什么使用cache可以提高计算机运行速度这是因为什么Dec 09, 2020 am 11:28 AM

使用cache可以提高计算机运行速度这是因为Cache缩短了CPU的等待时间。Cache是位于CPU和主存储器DRAM之间,规模较小,但速度很高的存储器。Cache的功能是提高CPU数据输入输出的速率;Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善。

如何使用PHP header()方法来调整网页如何使用PHP header()方法来调整网页Mar 28, 2023 pm 01:54 PM

PHP是一种功能强大的编程语言,可以用来创建动态网站和Web应用程序。其中一个最强大的功能之一是PHP的header()方法。在本文中,我们将探讨如何使用PHP的header()方法来调整网页。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール