freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

讓javascript跑得更快(文件)

2025-09-05 17:00 上一頁面

下一頁面
 

【正文】 s)。此外,如果你使用多臺服務器提供內(nèi)容,得小心使用ifmodifiedsince和etags。默認情況下,etag是由文件的 inode號生成的,而多臺服務器之間文件的inode號是不同的。可往多臺服務器上傳文件時,上傳時間差個一到兩秒是常有的事。緩存真是個好東西看來我們正從錯誤的方向入手解決問題。在獲取js或css文件之前,客戶端會用script或link標記向服務器發(fā)送一個請求,說明哪個頁面要加載這些文件。在php里,兩行就好:?php header(Expires: .gmdate(D, d M Y H:i:s, time()+315360000). GMT)。人力有時而窮當文件內(nèi)容更改時,手動去改文件名是很危險的。幸運的是,計算機做這類事情——當某種變化發(fā)生,需要相當準確地完成的、重復重復再重復的(htmlor注:番茄雞蛋伺候~)、枯燥乏味的工作——總是十分在行。?php RewriteEngine on RewriteRule ^/(.*.)v[09.]+.(css|js|gif|png|jpg)$ /$1$2 [L] 這條規(guī)則匹配任何帶有指定擴展名同時含有“版本”信息(version nugget)的url,它會把這些url重定向到一個不含版本信息的路徑。說到這里,你可能會問我,為什么不在url結尾加一個查詢字符串(query string)呢(如/css/?v=4)?根據(jù)HTTP緩存規(guī)格書所說,用戶代理對含有查詢字符串的url永不緩存。這里用的是smarty,用其他模板引擎也行。 }OUTPUT: link xhref=/css/ mce_href=/css/ rel=stylesheet type=text/css / 對每個鏈接到的資源文件,我們得到它在磁盤上的路徑,檢查它的mtime(文件最后修改的日期和時間),然后把這個時間當作版本號插入到 url中。當我們建立站點準備部署的時候,可以輕易的查到每個文件的修訂號,寫在一個靜態(tài)配置文件里。 $version = $stat[‘mtime‘]。只欠東風之前談到為靜態(tài)文件發(fā)送超長周期(verylongperiod)的緩存header時曾說過,如果不用php輸出,就不能輕易的發(fā)送緩存header。?php Apache:RewriteRule ^/(.*.)v[09.]+.(css|js|gif|png|jpg)$ /?path=$1$2 [L]PHP:header(Expires: .gmdate(D, d M Y H:i:s, time()+315360000). GMT)。 } 文件不存在?if (!file_exists($_GET[path])){ go_404()。 case ‘js‘ : header(Contenttype: text/javascript)。 case ‘jpg‘: header(Contenttype: image/jpeg)。 default: header(Contenttype: text/plain)。 } 這個方案有效,但并不出色。rewrite規(guī)則語句允許當規(guī)則匹配時設置環(huán)境變量(environment variable),當給定的環(huán)境變量設置后,Header命令就可以添加header。眼觀六路(htmlor注:多謝tchaikov告知“skinning rabbits”的含義,但我不想翻的太正式,眼下的這個應該不算太離譜吧。你可以留下評論,告訴我們那些你正在使用的卓有成效的技術和方法。當然,這離終極目標“速度”還有一段距離。否則在環(huán)境變量設置之前,header行會先執(zhí)行(就那沒意義了)。另外,我們還得小心防止可能由path參數(shù)傳遞偽造值引起的exploits。 function go_404(){ header(HTTP/ 404 File not found)。 case ‘png‘: header(Contenttype: image/png)。 case ‘gif‘: header(Contenttype: image/gif)。 switch ($ext){ case ‘css‘: header(Contenttype: text/css)。 忽略帶有“..”的路徑if (preg_match(‘!..!‘, $_GET[path])){ go_404()。php出馬,手到擒來。 } echo preg_replace(‘!.([az]+?)$!‘, .v$version.$1, $args[‘src‘])。 當我們發(fā)布產(chǎn)品時,可以修改模板函數(shù)來使用版本號。解決方案相當簡單。 $version = $stat[‘mtime‘]?,F(xiàn)在不移動文件就能更改url了,如果能讓url自動更新就更好了。由于url變了,瀏覽器就認為它是另一個資源(會重新下載)。資源的url和磁盤上文件的位置也沒必要保持一致。最壞的結果,是找不到文件,網(wǎng)站沒法運轉了。 我們告訴瀏覽器這個內(nèi)容在10年后(10年大概會有315,360,000秒,或多或少)過期,瀏覽器將會保留它10年。有點含糊,說得再詳細點就是:如果改變css和js文件內(nèi)容的同時,也改變它們的文件名,就可以告訴客戶端對url全都永久緩存——因為每個url都是唯一的。假如服務器在改動文件的時候通知客戶端,客戶端不就知道它的緩存是最新的了(直到接到下一次通知)?可惜天公不做美——(事實)是客戶端向服務
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1