亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php控制客戶端緩存

2020-03-22 20:09:41
字體:
來源:轉載
供稿:網友
  • 1.關于HTTP消息

    詳見: http://www.runoob.com/http/http-messages.html
    http消息中請求頭是瀏覽器要告訴服務器的信息,而響應頭是服務器要告訴客戶端的信息。這些頭的定義是HTTP協議定義好的,客戶端和服務器通過解析消息頭中信息來完成各自的工作。比如:請求頭中Accept-Language:zh-CN,zh;q=0.8 告訴服務器客戶端能接收的語言。

    2.響應頭Cache-Control控制緩存

    這里寫圖片描述
    Cache-Control 一個用于定義緩存指令的通用頭標。

    緩存策略:
    有用的 Cache-Control響應頭信息包括:

    max-age=[秒] — 執行緩存被認為是最新的最長時間。類似于過期時間,這個參數是基于請求時間的相對時間間隔,而不是絕對過期時間,[秒]是一個數字,單位是秒:從請求時間開始到過期時間之間的秒數。s-maxage=[秒] — 類似于max-age屬性,除了他應用于共享(如:代理服務器)緩存public — 標記認證內容也可以被緩存,一般來說: 經過HTTP認證才能訪問的內容,輸出是自動不可以緩存的;private在服務器設置了private比如:Cache-Control:private, max-age=60的情況下,表示只有用戶的瀏覽器可以緩存private響應,不允許任何中繼Web代理對其進行緩存 – 例如,用戶瀏覽器可以緩存包含用戶私人信息的HTML網頁,但是CDN不能緩存。no-cache — 強制每次請求直接發送給源服務器,而不經過本地緩存版本的校驗。這對于需要確認認證應用很有用(可以和public結合使用),或者嚴格要求使用最新數據的應用(不惜犧牲使用緩存的所有好處);no-store — 不做緩存must-revalidate — 告訴緩存必須遵循所有你給予副本的新鮮度。使用緩存的時候每次必須發送請求到服務器校驗,比如通過If-Modified-Since或If-None-Matchproxy-revalidate — 和 must-revalidate類似,除了他只對緩存代理服務器起作用,舉例:Cache-Control: max-age=3600, must-revalidate
    <?phpheader('Content-type:text/html;charset=utf-8');//用Cache-Control告訴瀏覽器有效期 5秒header('Cache-Control:max-age=5');//等同于Cache-Control:public, max-age=5$curr_time = date('Y-m-d H:i:s');echo '服務器時間:'.$curr_time;?><!DOCTYPE html><html><head><meta charset='utf-8'><title>Cache</title></head><body><br>    Time:<?php  echo $curr_time; ?><br>    <a href='cache_sample.php'>刷新時間</a></body></html>

    這里寫圖片描述

    3.響應頭Expires控制緩存
    <?phpheader('Content-type:text/html;charset=utf-8');//用Cache-Control告訴瀏覽器有效期 5秒// header('Cache-Control:max-age=5');//等同于Cache-Control:public, max-age=5//設置10秒的有效期,時間格式是GMT//時間是當前服務器時間 + 10秒$expires = gmdate('D, d M Y H:i:s', time() + 10) . ' GMT'; header('Expires:$expires');$curr_time = date('Y-m-d H:i:s');echo '服務器時間:'.$curr_time;?><!DOCTYPE html><html><head><meta charset='utf-8'><title>Cache</title></head><body><br>    Time:<?php  echo $curr_time; ?><br>    <a href='cache_sample.php'>刷新時間</a></body></html>

    這里寫圖片描述
    expires的弊端是有效期以服務器時間設置,如果客戶端的時間和服務端時間有一定的時間差,緩存的控制就有問題了,所以還是建議使用Cache-Control好!

    上面的代碼如果同時設置了

    header('Cache-Control:max-age=5');$expires = gmdate('D, d M Y H:i:s', time() + 10) . ' GMT'; //這個設置將無效header('Expires:$expires');

    Cache-Control(支持) 和 expires 同時設置有效期,以 Cache-Control設置的有效期為準

    4.通過HTTP 304: Not Modified 使用緩存

    (1)響應頭包含 Expires, max-age的話,“打開新窗口”、“地址欄輸入url回車”這些瀏覽器行為不會使瀏覽器在Expires, max-age設置的有效期時間內去訪問服務器,而是在緩存中去獲取內容,但是”刷新’”或”F5” 例外。
    (2)訪問服務器,根據服務器響應來獲取內容。這種情況發生在設置了Cache-Control:no-cache 是否使用緩存必須要通過服務器驗證,或者是設置了 Expires,max-age但瀏覽器行為是“刷新”或“F5”時候。’Last-Modified’、’ETag’、’must-revalidate’ 等有些特殊,不直接受瀏覽器行為影響,它們必須訪問服務器后,再由服務器判斷是直接發送新的資源,還是發送一個304 Not Modfied讓瀏覽器使用緩存中的資源。

    注意: CTRL+ F5是強制刷新。

    這里寫圖片描述
    ETag全稱Entity Tag,用來標識一個資源。在具體的實現中,ETag可以是資源的hash值,也可以是一個內部維護的版本號。但不管怎樣,ETag應該能反映出資源內容的變化,這是Http緩存可以正常工作的基礎。Last-Modified的原理其實和ETag差不多,Last-Modified通過時間來標識資源。通過這樣的方式可以不必每次都獲取全部的資源達到更新的目的,能極大的節省服務器的開銷,更有利于搜素引擎的抓取。

    <?phpheader('Content-type:text/html;charset=utf-8');header('Cache-Control:no-cache');//響應頭Last-Modified$lastmodified = filemtime('./cache.php');$lastmodifiedGMT = gmdate('D, d M Y H:i:s',$lastmodified). ' GMT';header('Last-Modified:$lastmodifiedGMT');//響應頭ETag$etag = md5_file('./cache.php');header('ETag:$etag');if (@$_SERVER['HTTP_IF_MODIFIED_SINCE'] == $lastmodifiedGMT ||    @trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {        header('HTTP/1.1 304 Not Modified');        exit;    }//返回304后,下面的內容不會向瀏覽器返回,而瀏覽器會使用之前的緩存   $curr_time = date('Y-m-d H:i:s');echo '服務器時間:'.$curr_time;?><!DOCTYPE html><html><head><meta charset='utf-8'><title>Cache</title></head><body><br>    Time:<?php  echo $curr_time; ?><br>    <a href='cache_sample.php'>刷新時間</a></body></html>

    這里寫圖片描述

    引用:
    [1]寫給后端程序員的HTTP緩存原理介紹
    [2]面向站長和網站管理員的Web緩存加速指南[翻譯]
    [3]緩存Cache詳解

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    揄拍成人国产精品视频| 国产欧美日韩精品在线观看| 日韩国产激情在线| 最近2019年手机中文字幕| 国产精品十八以下禁看| 91精品国产色综合久久不卡98口| 亚洲天堂免费在线| 国产成人精品日本亚洲| 色777狠狠综合秋免鲁丝| 欧美久久久精品| 国自在线精品视频| 久久九九精品99国产精品| 亚洲美女免费精品视频在线观看| 亚洲护士老师的毛茸茸最新章节| 久久久欧美精品| 亚洲性视频网站| 国产亚洲精品一区二555| 亚洲欧美精品中文字幕在线| 欧美中在线观看| 81精品国产乱码久久久久久| 午夜精品久久久久久99热软件| 久久久久久亚洲精品不卡| 色阁综合伊人av| 日韩欧美一区二区三区| 久久99热精品这里久久精品| 亚洲大胆人体在线| 欧美黑人一区二区三区| 91国产美女视频| 欧美一区二区视频97| 国产精品亚洲一区二区三区| 92裸体在线视频网站| 欧美乱妇高清无乱码| 精品福利视频导航| 日本视频久久久| 欧美成人亚洲成人日韩成人| 欧美裸体视频网站| 亚洲无限乱码一二三四麻| 91成人天堂久久成人| 国产精品久久77777| 欧美影院成年免费版| 亚洲国产成人精品女人久久久| 黑人极品videos精品欧美裸| 蜜臀久久99精品久久久久久宅男| 欧美日韩一区二区免费在线观看| 国产视频一区在线| 成人黄色中文字幕| 日韩av网站在线| 91香蕉国产在线观看| 国产91成人在在线播放| 91天堂在线视频| 成人h视频在线观看播放| 国产视频亚洲精品| 日韩av免费在线观看| 中文字幕亚洲色图| 91国内免费在线视频| 国产精品天天狠天天看| 琪琪亚洲精品午夜在线| 亚洲男人天堂古典| 欧美性xxxx极品hd满灌| 亚洲国产欧美久久| 亚洲精品suv精品一区二区| 国产丝袜一区二区三区免费视频| 国产日韩欧美成人| 色综合天天综合网国产成人网| 日韩精品久久久久久久玫瑰园| 亚洲第一中文字幕在线观看| 日韩精品视频免费在线观看| 久久久精品美女| 成人免费淫片aa视频免费| 国产精品一区二区久久久久| 久久九九精品99国产精品| 91成人在线观看国产| 亚洲国产精品va在看黑人| 久久在精品线影院精品国产| 亚洲欧美国产一本综合首页| 欧美性资源免费| 精品国产精品三级精品av网址| 欧美亚洲国产另类| 一区二区三区四区在线观看视频| 国产va免费精品高清在线观看| 日韩精品999| 欧美疯狂xxxx大交乱88av| 日韩亚洲欧美成人| 日韩精品福利网站| 国产精自产拍久久久久久蜜| 欧美尺度大的性做爰视频| www国产精品com| 亚洲成人亚洲激情| 国产亚洲激情在线| 韩国一区二区电影| 成人精品久久av网站| 欧美高清视频在线| 日韩精品中文在线观看| 色哟哟入口国产精品| 欧美亚洲在线播放| 亚洲欧洲日产国产网站| 色偷偷综合社区| 亚洲bt欧美bt日本bt| 久久91亚洲人成电影网站| 91麻豆国产语对白在线观看| 91亚洲精品一区| 国产va免费精品高清在线| 日韩一区二区三区xxxx| 精品国产精品三级精品av网址| 国产精品视频地址| 日本精品久久中文字幕佐佐木| 亚洲欧美国产视频| 欧美综合一区第一页| 国产精品一区二区电影| 国产精品第10页| 91视频免费网站| 亚洲精品久久久久久下一站| 亚洲天堂男人天堂女人天堂| 色悠悠久久88| 国产精品露脸自拍| 午夜精品一区二区三区在线视| 亚洲欧美中文日韩v在线观看| 亚洲欧洲激情在线| 91九色精品视频| 欧美精品18videosex性欧美| 欧美电影免费观看电视剧大全| 91香蕉电影院| 97精品免费视频| 国产精品影院在线观看| 日韩精品在线免费观看视频| 亚洲永久免费观看| 国产欧美中文字幕| 欧美视频在线看| 亚洲欧美日韩区| 亚洲成人教育av| 欧美日韩亚洲一区二| 久久精品99国产精品酒店日本| 日韩精品视频在线播放| 日韩精品视频在线| 久久视频精品在线| 欧美黑人巨大xxx极品| 欧美日韩午夜视频在线观看| 91国语精品自产拍在线观看性色| 色中色综合影院手机版在线观看| 夜夜嗨av一区二区三区四区| 国产精品欧美在线| 美日韩精品免费观看视频| 欧洲成人在线视频| 伦伦影院午夜日韩欧美限制| 黑人狂躁日本妞一区二区三区| 91精品国产99久久久久久| 成人精品一区二区三区电影黑人| 欧美激情第1页| 免费97视频在线精品国自产拍| 欧美日韩在线视频观看| 97在线视频精品| 国产午夜精品久久久| 成人免费网站在线| 欧美夜福利tv在线| 日韩中文字幕网| 亚洲美女又黄又爽在线观看| 日本在线观看天堂男亚洲| 亚洲午夜未删减在线观看| 亚洲成人激情在线观看| 中文字幕亚洲无线码a| 国产精品久久久久久久久久免费| 亚洲香蕉av在线一区二区三区| 亚洲欧洲一区二区三区在线观看| 欧美在线观看网址综合|