• 关于

    php生成gif

    的搜索结果

问题

PHP在线生成带LOGO的二维码www.codesc.net

匆匆 2019-12-01 22:04:46 5744 浏览量 回答数 0

问题

图片上传到linux服务器,生成的缩略图损坏?报错

爱吃鱼的程序员 2020-06-22 21:28:32 0 浏览量 回答数 1

回答

GD 库是 PHP 处理图形的扩展库,GD 库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。 云虚拟主机( Linux 操作系统)目前支持的 GD 库、,支持JPG,GIF,PNG,WBMP格式文件。 具体支持GD版本由于选择PHP版本不一样,支持的GD版本也不一样。

剑曼红尘 2020-03-18 18:15:19 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

详细解答可以参考官方帮助文档GD 库是 PHP 处理图形的扩展库,GD 库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。云虚拟主机( Linux 操作系统)目前支持的 GD 库、,支持JPG,GIF,PNG,WBMP格式文件。具体支持GD版本由于选择PHP版本不一样,支持的GD版本也不一样。建议您可以自行上传测试文件测试一下。请您参考: 通过探针查看轻云服务器或虚拟机主机对PHP的支持。 

2019-12-01 23:19:01 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档GD 库是 PHP 处理图形的扩展库,GD 库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。云虚拟主机( Linux 操作系统)目前支持的 GD 库、,支持JPG,GIF,PNG,WBMP格式文件。具体支持GD版本由于选择PHP版本不一样,支持的GD版本也不一样。建议您可以自行上传测试文件测试一下。请您参考: 通过探针查看轻云服务器或虚拟机主机对PHP的支持。 

2019-12-01 23:19:01 0 浏览量 回答数 0

问题

云虚拟主机是否支持GD库?

boxti 2019-12-01 21:47:09 1510 浏览量 回答数 0

回答

我反而是gif有时会丢失颜色。先握个爪,你要是解决了,别忘了还有我这个可怜滴娃在奋斗呢你的压缩有问题吧?回复<aclass='referer'target='_blank'>@loyal:同学,你是phper吗,你搜一下我的报错吧,我实在是找不到答案,也不知道问题出在哪回复<aclass='referer'target='_blank'>@tianjing:呵呵,你本地是windows吧?环境都不一样了,程序有些地方可能要做小改动.看看报错的那行干什么了...压缩,你是说生成缩略图的程序吗?应该木问题吧,因为我在本地的php环境下测试就可以成功生成各种格式的缩略图,而在服务器上就不能生成jpg和jpeg格式的缩略图 没救了。。我的也不成功

爱吃鱼的程序员 2020-06-22 21:28:50 0 浏览量 回答数 0

问题

php生成图片问题,什么原因?

落地花开啦 2019-12-01 20:02:15 875 浏览量 回答数 1

问题

php基于qrcode类库生成带图片LOGO的二维码

匆匆 2019-12-01 22:04:46 7616 浏览量 回答数 1

问题

【讨论】关于AJAX和HTML的问题,二种形式:报错

kun坤 2020-06-07 16:58:19 0 浏览量 回答数 1

问题

PHP SPL核心库相对以前有什么好处?

落地花开啦 2019-12-01 19:54:59 1069 浏览量 回答数 1

回答

" <img src=""https://static.oschina.net/uploads/img/201609/29103428_uMWE.jpg"" alt="""" /> @宏哥,@eechen,<span style=""font-size:24px;"">php是<span style=""font-size:24px;"">宇宙最好最强大的语言。<img src=""https://www.oschina.net/js/ke/plugins/emoticons/images/13.gif"" alt="""" /> <pre class=""brush:php; toolbar: true; auto-links: false;""><!DOCTYPE html> <html dir="ltr" lang="zh" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style> table{ font_size: 20px; width:500px; height:500px; border: 1px solid; padding:0px; margin:0px; border-spacing:0px; table-layout } tr{ border: 0px solid; padding:0px; margin:0px; } td{ border: 1px solid; width:30px; height:30px; padding:0px; margin:0px; text-align:center; } </style> </head> <body> <?php echo"<table>"; $val = array(); //第一步:生成1到25组成的数组; $a = 1; while($a <= 25){ //这是生成25个数数组的具体方法; $val[] = $a; $a++; } shuffle($val);//第二步:打乱数组; $k=0; for($j=1;$j<=5;$j++){//第三步:生成表格和由表格坐标组成的二维数组 echo"<tr>"; for($i=1;$i<=5;$i++){ $num[$i][$j]=$val[$k];//第四步:实际上是把二维数组和前面的数组逐键关联了起来 echo "<td>".$num[$i][$j]."</td>";//这是就可以通过表格座标填入关联好的二维数组值,简单吧! $k++; } echo"</tr>"; } echo"</table>"; ?> </body> </html> ######range(1,25)"

montos 2020-06-04 13:50:13 0 浏览量 回答数 0

回答

Reoneinstack 如何安装 Symantec 免费DV OneinStack一键工具在创建虚拟主机时可以选择为网站配置SSL。 用fullchain.pem和privkey.pem替代原来生成的CRT和Key文件,这样做的好处就可以保留Ngnix配置的SSL证书路径,只要简单修改引用的公钥和私钥即可。 然后就是修改.conf文件 OneinStack的Nginx配置SSL证书代码示例: server {listen 80;server_name 你的域名 你的域名;return    301 https://你的域名$request_uri;}server {listen 443 ssl http2;ssl_certificate /usr/local/nginx/conf/ssl/你的.pem;ssl_certificate_key /usr/local/nginx/conf/ssl/你的.key;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;ssl_prefer_server_ciphers on;ssl_session_timeout 10m;ssl_session_cache builtin:1000 shared:SSL:10m;ssl_buffer_size 1400;add_header Strict-Transport-Security max-age=15768000;ssl_stapling on;ssl_stapling_verify on;server_name 你的域名 你的域名;access_log /data/wwwlogs/www.域名_nginx.log combined;index index.html index.htm index.php;include /usr/local/nginx/conf/rewrite/wordpress.conf;root /data/wwwroot/www.;if ($host != 你的域名) {    rewrite ^/(.*)$ https://你的域名/$1 permanent;    }location ~ [^/]\.php(/|$) {    #fastcgi_pass remote_php_ip:9000;    fastcgi_pass unix:/dev/shm/php-cgi.sock;    fastcgi_index index.php;    include fastcgi.conf;    }location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {    expires 30d;    access_log off;    }location ~ .*\.(js|css)?$ {    expires 7d;    access_log off;    }} 以上仅供参考。 最后一步:重启Nginx

极简日记 2019-12-02 00:49:13 0 浏览量 回答数 0

回答

PHP压缩图片两个步骤: 1、添加类 //php生成缩略图片的类 class ResizeImage{ public $type;//图片类型 public $width;//实际宽度 public $height;//实际高度 public $resize_width;//改变后的宽度 public $resize_height;//改变后的高度 public $cut;//是否裁图 public $srcimg;//源图象 public $dstimg;//目标图象地址 public $im;//临时创建的图象 public $quality;//图片质量 public $img_array=array('jpg','png','gif'); //http://www.phpernote.com/php-function/782.html function __construct($img,$wid,$hei,$c,$dstpath,$quality=100){ $this->srcimg=$img; $this->resize_width=$wid; $this->resize_height=$hei; $this->cut=$c; $this->quality=$quality; //$this->type=strtolower(substr(strrchr($this->srcimg,'.'),1));//图片的类型 $this->type=$this->checkFileType($this->srcimg);//更为严格的检测图片类型 if(!in_array($this->type,$this->img_array)){ return ''; } $this->initi_img();//初始化图象 $this -> dst_img($dstpath);//目标图象地址 $this->width=imagesx($this->im); $this->height=imagesy($this->im); $this->newimg();//生成图象 ImageDestroy($this->im); } function newimg(){ $resize_ratio=($this->resize_width)/($this->resize_height);//改变后的图象的比例 $ratio=($this->width)/($this->height);//实际图象的比例 if(($this->cut)=='1'){//裁图 if(function_exists('imagepng')&&(str_replace('.','',PHP_VERSION)>=512)){//针对php版本大于5.12参数变化后的处理情况 $quality=9; } if($ratio>=$resize_ratio){//高度优先 $newimg=imagecreatetruecolor($this->resize_width,$this->resize_height); //上色 $color=imagecolorallocate($newimg,255,255,255); //设置透明 imagecolortransparent($newimg,$color); imagefill($newimg,0,0,$color); imagecopyresampled($newimg,$this->im,0,0,0,0,$this->resize_width,$this->resize_height,(($this->height)*$resize_ratio),$this->height); imagejpeg($newimg,$this->dstimg,$this->quality); } if($ratio<$resize_ratio){//宽度优先 $newimg=imagecreatetruecolor($this->resize_width,$this->resize_height); //上色 $color=imagecolorallocate($newimg,255,255,255); //设置透明 imagecolortransparent($newimg,$color); imagefill($newimg,0,0,$color); imagecopyresampled($newimg,$this->im,0,0,0,0,$this->resize_width,$this->resize_height,$this->width,(($this->width)/$resize_ratio)); imagejpeg($newimg,$this->dstimg,$this->quality); } }else{//不裁图 if($ratio>=$resize_ratio){ $newimg=imagecreatetruecolor($this->resize_width,($this->resize_width)/$ratio); //上色 $color=imagecolorallocate($newimg,255,255,255); //设置透明 imagecolortransparent($newimg,$color); imagefill($newimg,0,0,$color); imagecopyresampled($newimg,$this->im,0,0,0,0,$this->resize_width,($this->resize_width)/$ratio,$this->width,$this->height); imagejpeg($newimg,$this->dstimg,$this->quality); } if($ratio<$resize_ratio){ $newimg=imagecreatetruecolor(($this->resize_height)*$ratio,$this->resize_height); //上色 $color=imagecolorallocate($newimg,255,255,255); //设置透明 imagecolortransparent($newimg,$color); imagefill($newimg,0,0,$color); imagecopyresampled($newimg,$this->im,0,0,0,0,($this->resize_height)*$ratio,$this->resize_height,$this->width,$this->height); imagejpeg($newimg,$this->dstimg,$this->quality); } } } function initi_img(){//初始化图象 if($this->type=='jpg'){ $this->im=imagecreatefromjpeg($this->srcimg); } if($this->type=='gif'){ $this->im=imagecreatefromgif($this->srcimg); } if($this->type=='png'){ $this->im=imagecreatefrompng($this->srcimg); } } function dst_img($dstpath){//图象目标地址 $full_length=strlen($this->srcimg); $type_length=strlen($this->type); $name_length=$full_length-$type_length; $name=substr($this->srcimg,0,$name_length-1); $this->dstimg=$dstpath; //echo $this->dstimg; } //读取文件前几个字节 判断文件类型 function checkFileType($filename){ $file=fopen($filename,'rb'); $bin=fread($file,2); //只读2字节 fclose($file); $strInfo =@unpack("c2chars",$bin); $typeCode=intval($strInfo['chars1'].$strInfo['chars2']); $fileType=''; switch($typeCode){ case 7790: $fileType='exe'; break; case 7784: $fileType='midi'; break; case 8297: $fileType='rar'; break; case 255216: $fileType='jpg'; break; case 7173: $fileType='gif'; break; case 6677: $fileType='bmp'; break; case 13780: $fileType='png'; break; default: $fileType='unknown'.$typeCode; break; } if($strInfo['chars1']=='-1'&&$strInfo['chars2']=='-40'){ return 'jpg'; } if($strInfo['chars1']=='-119'&&$strInfo['chars2']=='80'){ return 'png'; } return $fileType; } } 2、压缩图片 $resizeimage=new ResizeImage($file_path,300,169,0,$newname); ResizeImage会将你正在上传的图片压缩至相应尺寸,同时上传。参数意义(路径, width, height, 是否截图, 图片名称),$file_path的根目录是这个php所在的文件夹,可以修改调整至相应路径。 通过该方法,成功将900+kb的图片压缩至40+kb,图片加载迅速很多。

小旋风柴进 2019-12-02 02:00:48 0 浏览量 回答数 0

回答

一. 表单传递当一个表单提交给 PHP 脚本时,表单中的信息会自动在脚本中可用。例: 一个简单的 HTML 表单[PHP] <form action="foo.php" method="post"> Name: <input type="text" name="username"><br> Email: <input type="text" name="email"><br> <input type="submit" name="submit" value="Submit me!"> </form> [/PHP]有很多种方法访问 HTML 表单中的数据。例如:例:. 从一个简单的 POST HTML 表单访问数据[PHP] <?php // 自 PHP 4.1.0 起可用 print $_POST['username']; print $_REQUEST['username']; import_request_variables('p', 'p_'); print $p_username; // 自 PHP 3 起可用 print $HTTP_POST_VARS['username']; // 如果 PHP 指令 register_globals = on 时可用。不过自 // PHP 4.2.0 起默认值为 register_globals = off。 // 不提倡使用/依赖此种方法。 print $username; ?> [/PHP]使用 GET 表单也类似,只不过要用适当的 GET 预定义变量。当提交表单时,可以用一幅图像代替标准的提交按钮,用类似这样的标记: ` <input type="image" src="image.gif" name="sub">` 当用户点击到图像中的某处时,相应的表单会被传送到服务器,并加上两个变量 sub_x 和 sub_y。它们包含了用户点击图像的坐标。有经验的用户可能会注意到被浏览器发送的实际变量名包含的是一个点而不是下划线,但 PHP 自动将点转换成了下划线。 二. 网址传递<a href=”test.php?id=3&name=mike”>next</a>可用 $_GET['id'] 和$_GET['name']访问GET 的数据。三. Cookie 传递1、 设置Cookie简单的:SetCookie("MyCookie", "Value of MyCookie");  带失效时间的:SetCookie("WithExpire", "Expire in 1 hour", time()+3600);//3600秒=1小时  什么都有的:SetCookie("FullCookie", "Full cookie value", time()+3600, "/forum", ".phpuser.com", 1);  如果要设置同名的多个Cookie,要用数组,方法是: SetCookie("CookieArray[0]", "Value 1"); SetCookie("CookieArray[1]", "Value 2"); 2、 接收和处理Cookie echo $_COOKIE[‘MyCookie’]; echo $_COOKIE[‘CookieArray[0]’]; echo count($_COOKIE[‘CookieArray’]); 3、删除Cookie要删除一个已经存在的Cookie,有两个办法: 一是调用只带有name参数的SetCookie,那么名为这个name的Cookie 将被从关系户机上删掉;另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。 要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。 四. Session传递test1.php [PHP] <? session_start(); session_register("count"); echo $count=0; ?> [/PHP] test2.php[PHP] <? session_start(); echo $count++; ?> [/PHP] 经过实验发现,PHP4的session只对当前打开的浏览器窗口有效(至少在W2K下的 IE5和NS6中是这样)。下面的代码可以实现session的跨窗口执行。 test1.php [PHP] <? session_start(); session_register("count"); setcookie("PHPSESSID",session_id(),time()+3600,"/","www.md.hl.cn"); echo $count=0; ?> [/PHP]五. javascript变量传递到PHP脚本中方法一:先用PHP生成js代码,然后通过浏览器的自动刷新,将javascript变量传递到PHP脚本中。[PHP] <?php if (isset($_GET['width']) AND isset($_GET['height'])) { // output the geometry variables echo "Screen width is: ". $_GET['width'] ."<br />\n"; echo "Screen height is: ". $_GET['height'] ."<br />\n"; } else { // pass the geometry variables // (preserve the original query string // -- post variables will need to handled differently) echo "<script language=\"javascript\">\n"; echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width + \"&height=\" + screen.height;\n"; echo "</script>\n"; exit(); } ?> [/PHP] 方法二:先用document.cookie方法把js变量写入cookie中,再用PHP取出。这种方法适用于变量少的情况。 1. 在JAVASCRIPT中设置COOKIE:document.cookie="cookiename="+value+";path=/" 2. 在PHP中用$HTTP_COOKIE_VARS["cookiename"]的方式读取。 [PHP] <script> var name="myqq",value="66166457"; document.cookie=”myqq”+"="+value+";" </script> <?php echo "$_COOKIE[‘myqq’]\n"; $my="我的QQ是".$_COOKIE[‘myqq’]; echo $my; ?> [/PHP]方法三:通过表单中的隐藏域的value属性将需要传递的变量通过提交表单传递给PHP。[PHP] <script langeuage="javascript"> function logon_sub(){ if( pass_check() ) { if(document.logon.f_over_clk.value=='0') { document.logon.f_over_clk.value='1'; document.logon.submit(); } } } </script> <form name="logon" action="logon_do.php" method="post"> <a href="javascript:logon_sub();"><img name="Logon" src="../img/LogonBt_iu.gif"></a> <input type="hidden" name="mullang" value="0"> </form> [/PHP] 在logon_do.php页面就可以用$_POST[‘mullang’]取得这个变量了。六.多个页面之间传递数组可以把数组转化成字符串,作为一个参数来传递: - file1.php [PHP] <? ... $arg=implode(";", $parm); $link="file2.php?arg=$arg"; ?> [/PHP] - file2.php [PHP] <? $parm=explode(";", $arg);

小旋风柴进 2019-12-02 02:01:31 0 浏览量 回答数 0

回答

这个html编辑器不用你自己实现吧。它说白了就是个文本框。比如你输入hello,存入数据库就是hello,你把颜色变成红色,就是相当于输入了<font color=red>hello</font>你的程序不需要变动。只是存到数据库表中的内容变长了。多了些html标签而已。。######回复 @uniquesql 那么怎么讲这个设置的样式 如<font size="3" >测试〈/font>保存呢? 在哪里保存呢? 找不到啊?######你想多了。比如在JSP页面上直接取出来就行了 <%=blog.getContent()%>。。 或者EL表达式 ${blog.content} 浏览器会自动渲染这些html标记。。######回复 @追逐梦想 : 就当字符串一样读取即可,不用考虑太多######那么前台是怎么读取的呢? 这个是个值啊,怎么会反映到页面上呢?######文字内容保存的是html样式的~~~~~~~~~~~~~~######就是将这个页面中的设置样式一起保存了吧,然后就是怎么讲保存的样式反应到页面上呢?######你发的这个是。。。。 phpweb 生成的企业站 后台的吧 ######@追逐梦想 哦,呵呵。可能我猜错了######呃,好像不是啊,就是一个网站的后台,有个Html编辑器######归结到底,数据都放到database即可!修改数据库!page取得就是数据库数据!######回复 @Beyond-Bit : 谢谢!######@追逐梦想 设计复杂的,不是一般的难!你简单点,就是把你想变得东西放到数据库,比如:背景颜色你可以放到数据!要修改的时候后台读取,修改!save数据库!页面加载读取数据库即可!######嗯,这个我明白了,但是我不知道怎么讲数据放到数据库中啊。###### <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta content="IE=7.0000" http-equiv="X-UA-Compatible"> <title></title> <link rel="stylesheet" type="text/css" href="css/style(2).css"> <script type="text/javascript" src="js/base(2).js"></script> <script type="text/javascript" src="js/page.js"></script> </head> <body marginheight="0"> <s:iterator value="companyInfo" var="companyInfo"> <form id="modiPageForm" enctype="multipart/form-data" method="post" name="form" action="companyInfoAction_findCompanyInfoById?companyInfoId=<s:property value="#companyInfo.companyInfoId"/>"> <div class="formzone"> <div class="namezone">网页内容编辑</div> <div class="tablezone"> <table style="BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="2" width="100%" align="center" border="0"> <tbody> <tr> <td height="30" align="center">自定序号</td> <td height="30"><input class="input" style="WIDTH: 25px" maxlength="9" value="<s:property value="#companyInfo.companyInfoId"/>" name="companyInfo.companyInfoId"> </td> </tr> <tr> <td height="30" align="center">网页分组</td> <td height="30"><select id="groupid" name="companyInfo.webPageGroup"> <s:if test="#companyInfo.webPageGroup==1"> <option selected="true" value="1">公司简介</option> <option value="22">联系我们</option> </s:if> <s:else> <option value="1">公司简介</option> <option selected="true" value="22">联系我们</option> </s:else> </select></td> </tr> <tr> <td height="30" align="center">排版方式</td> <td height="30"><select id="modiselmodle" name="companyInfo.typeSetMethod"> <s:if test="#companyInfo.typeSetMethod==1"> <option selected="true" value="1">独立自定义排版</option> <option value="0">共享分组的排版</option> </s:if> <s:else> <option value="1">独立自定义排版</option> <option selected="true" value="0">共享分组的排版</option> </s:else> </select> </td> </tr> <tr id="tr_fold"> <td height="30" align="center">网页文件</td> <td height="30"><input id="pagefolder" class="input" maxlength="30" value="<s:property value="#companyInfo.webPageDocument"/>" name="companyInfo.webPageDocument"> .PHP</td> </tr> <tr> <td height="30" width="100" align="center">网页标题</td> <td height="30"><input id="title" class="input" maxlength="200" size="36" value="<s:property value="#companyInfo.webPageTitle"/>" name="companyInfo.webPageTitle"> <font color="#ff0000">*</font> </td> </tr> <tr> <td height="30" align="center">主题图片</td> <td height="30"><input id="jpg" class="input" size="50" type="file" name="jpg"></td> </tr> <tr> <td height="30" width="100" align="center">网页内容</td> <td height="30"><input type="hidden" value="<s:property value="#companyInfo.webPageContent"/>" name="body"> <script type="text/javascript" src="js/KindEditor.js"></script> <script type="text/javascript"> var editor = new KindEditor("editor"); editor.hiddenName = "body"; editor.editorWidth = "700px"; editor.editorHeight = "350px"; editor.skinPath = "img/"; editor.uploadPath = "../../kedit/upload_cgi/upload.php"; editor.imageAttachPath="page/pics/"; editor.iconPath = "img/"; editor.show(); function KindSubmit() { editor.data(); } </script> <div style="font-family:Courier New;"> <div style="width:700px;;border:1px solid #DDDDDD;background-color:#EFEFEF"> <table cellpadding="0" cellspacing="0" border="0" height="26"> <tbody> <tr> <td style="padding:2px;"><img id="KE_SOURCE" src="img/source.gif" alt="视图转换" title="视图转换" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_SOURCE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_PREVIEW" src="img/preview.gif" alt="预览" title="预览" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_PREVIEW');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_ZOOM" src="img/zoom.gif" alt="显示比例" title="显示比例" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_ZOOM');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_PRINT" src="img/print.gif" alt="打印" title="打印" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_PRINT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_UNDO" src="img/undo.gif" alt="回退" title="回退" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_UNDO');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_REDO" src="img/redo.gif" alt="前进" title="前进" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_REDO');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_CUT" src="img/cut.gif" alt="剪切" title="剪切" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_CUT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_COPY" src="img/copy.gif" alt="复制" title="复制" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_COPY');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_PASTE" src="img/paste.gif" alt="粘贴" title="粘贴" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_PASTE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_SELECTALL" src="img/selectall.gif" alt="全选" title="全选" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_SELECTALL');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_JUSTIFYLEFT" src="img/justifyleft.gif" alt="左对齐" title="左对齐" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_JUSTIFYLEFT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_JUSTIFYCENTER" src="img/justifycenter.gif" alt="居中" title="居中" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_JUSTIFYCENTER');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_JUSTIFYRIGHT" src="img/justifyright.gif" alt="右对齐" title="右对齐" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_JUSTIFYRIGHT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_JUSTIFYFULL" src="img/justifyfull.gif" alt="两端对齐" title="两端对齐" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_JUSTIFYFULL');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_NUMBEREDLIST" src="img/numberedlist.gif" alt="编号" title="编号" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_NUMBEREDLIST');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_UNORDERLIST" src="img/unorderedlist.gif" alt="项目符号" title="项目符号" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_UNORDERLIST');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_INDENT" src="img/indent.gif" alt="减少缩进" title="减少缩进" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_INDENT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_OUTDENT" src="img/outdent.gif" alt="增加缩进" title="增加缩进" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_OUTDENT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_SUBSCRIPT" src="img/subscript.gif" alt="下标" title="下标" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_SUBSCRIPT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_SUPERSCRIPT" src="img/superscript.gif" alt="上标" title="上标" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_SUPERSCRIPT');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_DATE" src="img/date.gif" alt="日期" title="日期" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_DATE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_TIME" src="img/time.gif" alt="时间" title="时间" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_TIME');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> </tr> </tbody> </table> <table cellpadding="0" cellspacing="0" border="0" height="26"> <tbody> <tr> <td style="padding:2px;"><img id="KE_TITLE" src="img/title.gif" alt="标题" title="标题" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_TITLE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_FONTNAME" src="img/font.gif" alt="字体" title="字体" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_FONTNAME');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_FONTSIZE" src="img/fontsize.gif" alt="文字大小" title="文字大小" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_FONTSIZE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_TEXTCOLOR" src="img/textcolor.gif" alt="文字颜色" title="文字颜色" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_TEXTCOLOR');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_BGCOLOR" src="img/bgcolor.gif" alt="文字背景" title="文字背景" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_BGCOLOR');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_BOLD" src="img/bold.gif" alt="粗体" title="粗体" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_BOLD');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_ITALIC" src="img/italic.gif" alt="斜体" title="斜体" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_ITALIC');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_UNDERLINE" src="img/underline.gif" alt="下划线" title="下划线" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_UNDERLINE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_STRIKE" src="img/strikethrough.gif" alt="删除线" title="删除线" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_STRIKE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_REMOVE" src="img/removeformat.gif" alt="删除格式" title="删除格式" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_REMOVE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_IMAGE" src="img/image.gif" alt="图片" title="图片" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_IMAGE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_FLASH" src="img/flash.gif" alt="Flash" title="Flash" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_FLASH');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_MEDIA" src="img/media.gif" alt="Windows Media Player" title="Windows Media Player" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_MEDIA');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_REAL" src="img/real.gif" alt="Real Player" title="Real Player" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_REAL');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_LAYER" src="img/layer.gif" alt="层" title="层" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_LAYER');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_TABLE" src="img/table.gif" alt="表格" title="表格" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_TABLE');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_SPECIALCHAR" src="img/specialchar.gif" alt="特殊字符" title="特殊字符" align="absmiddle" style="border: 1px solid rgb(239, 239, 239); cursor: pointer; height: 20px;" onclick="javascript:KindExecute('KE_SPECIALCHAR');" onmouseover="javascript:this.style.border='1px solid #AAAAAA';" onmouseout="javascript:this.style.border='1px solid #EFEFEF';"> </td> <td style="padding:2px;"><img id="KE_HR" src="img/hr.gif" alt="横线" title="横线" align="absmiddle" style="border:1px solid #EFEFEF;cursor:pointer;height:20px;" onclick="javascript:KindExecute('KE_HR');" onmo

kun坤 2020-06-06 23:47:11 0 浏览量 回答数 0

问题

OSS存储利用内网CDN叠加多台5MECS网宽

betterhomechina 2019-12-01 21:04:17 14039 浏览量 回答数 5

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:44 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:44 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:45 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:45 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:44 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:45 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:44 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:46 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:44 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:45 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:43 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档过期时间控制支持三个维度,优先级依次为控制台设置——源站header设置——cache的默认策略设置cdn缓存规则参考:https://help.aliyun.com/document_detail/cdn/getting-started/set/set-cachepolicy.html?spm=5176.doccdn/getting-started/httpsdelivery.6.106.yJalap 控制台过期时间设置详见【域名过期时间设置】,源站设置详见【webserver缓存策略设置】,cache的默认策略是针对用户既没有在控制台设置过期时间,也没有在源站设置过期时间,会走一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题详见【Cache的默认缓存策略】。Webserver缓存策略设置一、IIS 缓存策略设置1、 因为整体的站点只对.html .jpg .png .gif .apk文件,而其他文件都不缓存;可以首先对整个站点设置成不缓存,设置如下:a)打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,然后选择“HTTP头“选卡,勾选“启用内容过期”,并选择“立即过期”,然后“确定”,具体如下:  b)经过上述设置后整个网站的内容都不会被CDN缓存,然后对.html .jpg .png .gif .apk文件类型设置缓存策略  2、针对特定文件的缓存设置如下:a)如果上面不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件,那么可以针对这个扩展名所在的整个目录设置缓存的时间;具体方法是在“IIS信息管理器”中,展开网站“a.cc.com”的目录,选中需要设置缓存时间的目录,比如所有jpg都存储在img这个目录下,那么右键点击该目录,选择“属性’,选中”HTTP头“选卡;因为刚才整个网站都设置了不缓存的设置,因此这时打开该目录的”HTTP头“的缓存设置和1中的一致,接下来就有修改这个配置:选择”此时间段后过期“,并且将时间设置为过期的时间值,比如14天,点击“确定”保存,具体如下:  b) 如果特定扩展名的文件不是统一放在唯一的目录下,是和其他扩展名文件混合放在一个目录下面的,这种情况配置要复杂一些;  为了避免针对特定扩展名的文件进行逐个的配置,我们需要让IIS支持“通配符”,支持“通配符”的配置如下:1) 打开“IIS信息管理器”,右键点击服务网站“a.cc.com”的属性,选择“主目录”选卡,点击选卡上的“配置”按钮,出现如下对话框:  2) 在“通配符应用程序映射(执行顺序)”一栏下面,点击“插入”按钮,在弹出的文件选择框时选择 C: \WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 文件,其中“C:”是系统盘,不要勾选“确认文件是否存在”,具体如下:  连续两个“确定”按键点击后,就完成了IIS通配符的支持配置 3)接下来就是到存在需要进行缓存配置文件的目录下面,首先选择一个需要缓存扩展名的文件,点击右键,选择属性,选择“HTTP头”选卡,进行2.a)中的配置,并保存;接下来就有对这个文件目录下面所有相同扩展名的文件进行该设置了,此时需要修改IIS的配置文件实现。 4)IIS的配置文件放置在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置),用“记事本”程序打开上述文件,如果我们3)中是针对bin目录下面的test.jpg做了缓存过期时间的设置的,那么我们就查找字串“/bin/test.jpg“,就可以在该文件中找到bin目录下test.jpg文件的缓存设置,为了使bin目录下面所有的jpg文件都采用该缓存设置,只需要将“test.jpg”改为”*.jpg“就可以了,然后保持该文件。注意要修改上述文件,需要在“服务”中关闭“IIS admin Service”。 5)其他扩展名的文件缓存设置可以重复上面的3)和4)操作。 二、Nginx 缓存策略设置HTTP头处理模块(HTTP Headers),这个模块允许设置任意的HTTP头 1) add_header语法:add_header name value 默认值:none 使用字段:http, server, location 2) expires语法:expires [time|epoch|max|off] 默认值:expires off 使用字段:http, server, location  这个指令控制是否在应答中标记一个过期时间,如果是,如何标记。off 将禁止修改头部中的 Expires和Cache-Control字段。Time控制“Cache-Control”的值,负数表示no-cacheepoch 将Expires头设置为1 January, 1970 00:00:01 GMT。max 将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10 年。 例如设置php的文件类型过期时间设置为1个小时:        设置php的文件类型为no-cache,不让cache服务器缓存:    另外可以通过add_header设置相对应的缓存策略,对于动态的php文件设置为不缓存: location ~ .*\.php$ {    if ($request_uri !~ ^/dynamicimg/) {        add_header              Cache-Control "no-cache";        add_header              Pragma no-cache;    }  } 三、Apache缓存策略设置 Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置: 1)模块mod_expires设置:允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。ExpiresDefault 指令:默认所有文档的过期时间。 过期时间的写法“access plus 1 month”“access plus 4 weeks”“now plus 30 days”“modification plus 5 hours 3 minutes”A2592000M604800access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用 配置实例:     ExpiresActive On(开启mod_expires功能)    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证:image/jpeg 缓存时间为315360000s(10年)  如果将image/jpeg设置为不缓存(将max-age设置为0s): #   ExpiresByType image/* "access plus 10 years"ExpiresByType image/*  A0   2)模块mod_headers设置:   # YEAR(flv,gif,ico文件类型的缓存时间为1年)Header set Cache-Control “max-age=2592000″# WEEK(pdf.swf,js,css缓存时间为一周)Header set Cache-Control “max-age=604800″# NEVER CACHE(jsp.swf,ico文件类型不缓存)Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”Header set Cache-Control “no-store, no-cache, must-revalidate”Header set Pragma “no-cache”  Cache的默认缓存策略缓存时间计算t =(savetime - last_modified)*0.1 t = min(10, t) t = max(t, 3600)缓存时间为t,单位秒 1、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:01:00, (curtime-Last_modified)*0.1=6s,那么缓存时间为10s,因为最小值为10s2、当对象last-modified为20140801 00:00:00,当前时间为20140802 00:00:00,(curtime-Last_modified)*0.1=8640s,那么缓存时间为3600s3、当对象last-modified为20140801 00:00:00,当前时间为20140801 00:10:00,(curtime-Last_modified)*0.1=60s,那么缓存时间为60s4、如果源站没有 Last-Modified 响应头,但有 ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为 dft_expires 指令配置的最小值5、如果源站没有 Last-Modified,也没有 ETag,则认为该对象为动态内容,将其默认缓存时间设置为 0,每次都回源  注意事项因为网站开发及其相关技术人员更清楚自身网站的业务逻辑,静态和动态因素,所以建议用户通过控制台按照文件类型,目录控制设置缓存时间控制;如果用户控制有缓存策略控制,Cache的默认缓存策略就不生效。  如果问题还未能解决,请联系售后技术支持。

2019-12-01 23:32:43 0 浏览量 回答数 0

回答

详细信息 过期时间控制支持三个维度,优先级依次为 控制台设置 > 源站Header设置 > Cache的默认策略设置。 关于控制台设置的详细说明,请参见设置缓存过期时间。 关于源站Header设置的详细说明,请参见WebServer缓存策略设置。 Cache的默认策略是在用户既没有在控制台设置过期时间,也没有在源站设置过期时间的情况下,会执行一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题。关于Cache的默认策略设置的详细说明,请参见CDN节点默认缓存策略。 WebServer缓存策略设置 设置IIS缓存策略详细操作,请参见如何设置IIS缓存策略。 设置Nginx缓存策略详细操作,请参见如何设置Nginx缓存策略。 设置Apache缓存策略详细操作,请参见如何设置Apache缓存策略。 如何设置IIS缓存策略 设置IIS缓存策略的操作步骤如下。 因为整体的站点只对.html、.jpg、.png、.gif、.apk等文件进行缓存,首先将整个站点设置成不缓存,具体操作如下。 打开IIS信息管理器,右键单击服务网站a.cc.com的属性,本文以a.cc.com服务网站为例。 单击 HTTP头,勾选 启用内容过期,选择 立即过期,单击 确定。 上述设置后,整个网站的内容都不会被CDN缓存,接着设置.html、.jpg、.png、.gif、.apk等文件类型的缓存策略。 不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件。针对这个扩展名所在的整个目录设置缓存的时间。具体操作如下。 打开IIS信息管理器。 展开网站a.cc.com的目录,选中需要设置缓存时间的目录,如所有jpg文件都存储在img这个目录下,右键单击该目录并选择属性,单击 HTTP头。 注:由于步骤1已经设置整个网站不缓存,所以此时HTTP头选项下的缓存设置和步骤1中的相同。 选择 此时间段后过期,设置具体的过期时间,单击 确定。 特定扩展名的文件不是统一放在唯一的目录,而是和其他扩展名文件混合放在一个目录下。以bin目录下的test.jpg为例,介绍缓存设置的操作步骤。 注:为了避免针对特定扩展名的文件进行逐个的配置,需要设置IIS支持通配符。 设置IIS支持通配符。 打开IIS信息管理器,右键单击服务网站a.cc.com的属性,选择主目录,单击 配置。 在弹出的对话框中,单击 映射,单击 插入。 在弹出的对话框中,选择C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll文件,单击 确定。 注:不勾选确认文件是否存在。 分别单击两个对话框中的 确定,完成IIS通配符的支持配置。 在bin目录下,选择test.jpg并右键单击,选择 属性。 单击 HTTP头。 选择 此时间段后过期,设置具体的过期时间,单击 确定。 设置bin目录下其他相同扩展名文件的缓存时间,此时需要修改IIS的配置文件。具体操作如下。 注:修改文件,需要在服务中关闭IIS admin Service。 用记事本程序打开IIS的配置文件,配置文件在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置)目录下。 查找/bin/test.jpg,找到bin目录下test.jpg文件的缓存设置。 将test.jpg改为*.jpg并保存。 其他扩展名的文件缓存设置操作同上。 如何设置Nginx缓存策略 HTTP头处理模块(HTTP Headers)允许设置任意的HTTP头,您可以使用add_header和expires命令设置Nginx缓存策略。 指令 语法 默认值 使用字段 add_header add_header name value none http server location expires 注:这个指令控制是否在应答中标记一个过期时间以及如何标记。 expires [time|epoch|max|off] 说明 Time:控制Cache-Control的值,负数表示no-cache。 epoch:将Expires头设置为1 January, 1970 00:00:01 GMT。 max:将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10年。 off:将禁止修改头部中的Expires和Cache-Control字段。 expires off http server location 通过expires设置,示例如下。 设置PHP的文件类型过期时间,设置为1小时。 设置成功后,系统显示类似如下。 设置PHP的文件类型为no-cache,Cache服务器不缓存。 设置成功后,系统显示类似如下。 通过add_header设置,以动态的PHP文件设置为不缓存为例。 location ~ .*.php$ { if ($request_uri !~ ^/dynamicimg/) { add_header Cache-Control "no-cache"; add_header Pragma no-cache; } } 如何设置Apache缓存策略 您可以通过Apache的mod_expires和mod_headers两个模块设置Apache的缓存策略。 mod_expires模块 mod_expires模块允许通过配置文件控制HTTP的Expires和Cache-Control头内容,它的主要作用是自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的。 mod_expires是Apache众多模块中配置比较简单的一个,它一共包括三条指令。 ExpiresActive指令:打开或关闭产生Expires:和Cache-Control:头的功能。 ExpiresByType指令:指定MIME类型的文档(如text或html)的过期时间。 ExpiresDefault指令:默认所有文档的过期时间。 过期时间的写法如下。 "access plus 1 month" "access plus 4 weeks" "now plus 30 days" "modification plus 5 hours 3 minutes" A2592000 M604800 注: access、now和A这三种写法的意义相同,都是指过期时间从访问时开始计算。 modification和M的意义相同,指过期时间从被访问文件的最后修改时间开始计算。 本种写法只对静态文件起作用,对于由脚本生成的动态页面无效。配置实例如下。 ExpiresActive On(开启mod_expires功能) ExpiresDefault "access plus 6 months"(默认的过期时间是6个月) ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年) ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年) ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证结果如下,image/jpeg的缓存时间为315360000s(10年)。 如果将image/jpeg设置为不缓存,即将max-age设置为0s。 #ExpiresByType image/* "access plus 10 years" ExpiresByType image/* A0 系统显示类似如下。 mod_headers模块 # YEAR Header set Cache-Control "max-age=2592000" # WEEK Header set Cache-Control "max-age=604800″ # NEVER CACHE Header set Expires "Thu, 01 Dec 2003 16:00:00 GMT" Header set Cache-Control "no-store, no-cache, must-revalidate" Header set Pragma "no-cache" CDN节点默认缓存策略 如下为CDN节点的默认缓存策略。 提示: 因为网站开发及其相关技术人员更清楚自身网站的业务逻辑、静态和动态因素,所以建议您通过控制台根据文件类型和文件所在目录,设置缓存时间。详细说明,请参见设置缓存过期时间。 如果您已经配置了缓存策略,那么Cache的默认缓存策略不生效。 默认情况下,CDN节点将根据公式计算出默认的缓存时间。为了便于理解,此处将介绍默认缓存时间的计算公式和相关示例。 计算公式。该公式分为如下三个步骤。 注:缓存时间为t,单位为秒(s);Curtime为当前时间,Last_Modified为源站的Last-Modified响应头。 计算t1的值。 t1 = (Curtime - Last_Modified) * 0.1 将上一步计算的t1之与10进行比较,取最大值为t2。 t2 = max(10,t1) 通过上一步计算的t2值与3600进行比较,取最小值为t,则t为缓存时间。 t = min(t2,3600) 示例如下。 当对象的Last-Modified为20140801 00:00:00,当前时间Curtime为20140801 00:01:00, 则t1=(Curtime-Last_modified)*0.1=6s,t2=max(10,t1)=10s,t=min(t2,3600)=10s,那么缓存时间为10s。 当对象的Last-Modified为20140801 00:00:00,当前时间Curtime为20140802 00:00:00,则t1=(Curtime-Last_modified)*0.1=8640s,t2=max(10,t1)=8640s,t=min(t2,3600)=3600s,那么缓存时间为3600s。 当对象的Last-Modified为20140801 00:00:00,当前时间Curtime为20140801 00:10:00,则t1=(Curtime-Last_modified)*0.1=60s,t2=max(10,t1)=60s,t=min(t2,3600)=60s,那么缓存时间为60s。 如果源站没有Last-Modified响应头,但有ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为dft_expires指令配置的最小值。 如果源站没有Last-Modified响应头,也没有ETag,则认为该对象为动态内容,将其默认缓存时间设置为0,每次都回源。

保持可爱mmm 2020-03-30 15:03:50 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站