1. 引導(dǎo)文件 ?
索引文件是模塊化程序中的主要腳本,它是唯一被加載進(jìn)web瀏覽器的頁面。
這個構(gòu)建法的技術(shù)術(shù)語叫做引導(dǎo)文件(bootstrap file), 它通常也是基于框架網(wǎng)站系統(tǒng)的常用方式。
它組合適當(dāng)?shù)牟糠謥硇纬赏暾膚eb頁面。
2. ?include($_GET['p']); ?// this is not safe
沒有驗(yàn)證$_GET('p')的值,是極度不安全的。
3. 配置Apache, 可能會用到
httpd.conf, Apache全局配置文件,放置在conf目錄內(nèi),它用于規(guī)范這個Apache網(wǎng)站服務(wù)器的運(yùn)行規(guī)則。
.htaccess, 放置在web目錄內(nèi),它用來規(guī)范在當(dāng)前目錄和子目錄內(nèi)Apache如何運(yùn)行。?
任何可以使用.htaccess文件來完成的功能都可以在httpd.conf文件中使用一個Directory標(biāo)簽來實(shí)現(xiàn)。默認(rèn)情況下,Apache不會在Web瀏覽器中顯示.htaccess文件,這是一種聰明的安全策略。
4. 通過Apache的mod_rewrite模塊來實(shí)現(xiàn)URL的重寫。在.htaccess文件中首先檢查該模塊是否加載并且打開重寫引擎。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule somepage.php otherpage.php ?// 測試mod_rewrite功能是否工作正常
</IfModule>
5. PCRE, Perl-compatible Regular Expressions
6. 當(dāng)使用mod_rewrite的時候,使用相對路徑引用圖片、JavaScript、樣式表文件等外部資源時可能會導(dǎo)致問題,必須使用絕對路徑來引用外部資源。
http://localhost/ch02/about/
例如,對于以上URL中的地址,瀏覽器會認(rèn)為當(dāng)前頁面位于about目錄內(nèi),對于頁面內(nèi)的css文件引用,若使用相對路徑,就會找不到對應(yīng)的位置。
7. web browser and agent server are accustomed to using cache pages. 使用緩存的目的是提高網(wǎng)絡(luò)性能。緩存頁面是保存頁面的內(nèi)容(或部分內(nèi)容,e.g. an image or video)的一種方式,然后在產(chǎn)生請求時提供這個保存的頁面版本,而不是服務(wù)器上的版本。
當(dāng)服務(wù)器上的頁面版本比緩存的頁面版本新的時候,終端用戶可能獲取不到最新的頁面。
利用PHP的header()函數(shù)可以調(diào)整緩存,
Last-Modified(最后修改時間)
Expires(過期時間)
Pragma(編譯提示)
Cache-Control(緩存控制)
header("Last-Modified: ". gmdate('r', $max));
header("Expires: " . gmdate("r", ($max+$interval)));
header("Cache-Control: max-age=$interval");