美文网首页
PHP practice - chapter 2

PHP practice - chapter 2

作者: fuxiaotao | 来源:发表于2016-03-25 22:42 被阅读0次

    1. 引导文件  

    索引文件是模块化程序中的主要脚本,它是唯一被加载进web浏览器的页面。

    这个构建法的技术术语叫做引导文件(bootstrap file), 它通常也是基于框架网站系统的常用方式。

    它组合适当的部分来形成完整的web页面。

    2.  include($_GET['p']);  // this is not safe

    没有验证$_GET('p')的值,是极度不安全的。

    3. 配置Apache, 可能会用到

    httpd.conf, Apache全局配置文件,放置在conf目录内,它用于规范这个Apache网站服务器的运行规则。

    .htaccess, 放置在web目录内,它用来规范在当前目录和子目录内Apache如何运行。 

    任何可以使用.htaccess文件来完成的功能都可以在httpd.conf文件中使用一个Directory标签来实现。默认情况下,Apache不会在Web浏览器中显示.htaccess文件,这是一种聪明的安全策略。

    4. 通过Apache的mod_rewrite模块来实现URL的重写。在.htaccess文件中首先检查该模块是否加载并且打开重写引擎。

    <IfModule mod_rewrite.c>

    RewriteEngine on

    RewriteRule somepage.php otherpage.php  // 测试mod_rewrite功能是否工作正常

    </IfModule>

    5. PCRE, Perl-compatible Regular Expressions

    6. 当使用mod_rewrite的时候,使用相对路径引用图片、JavaScript、样式表文件等外部资源时可能会导致问题,必须使用绝对路径来引用外部资源。

    http://localhost/ch02/about/

    例如,对于以上URL中的地址,浏览器会认为当前页面位于about目录内,对于页面内的css文件引用,若使用相对路径,就会找不到对应的位置。

    7. web browser and agent server are accustomed to using cache pages. 使用缓存的目的是提高网络性能。缓存页面是保存页面的内容(或部分内容,e.g. an image or video)的一种方式,然后在产生请求时提供这个保存的页面版本,而不是服务器上的版本。

    当服务器上的页面版本比缓存的页面版本新的时候,终端用户可能获取不到最新的页面。

    利用PHP的header()函数可以调整缓存,

    Last-Modified(最后修改时间)

    Expires(过期时间)

    Pragma(编译提示)

    Cache-Control(缓存控制)

    header("Last-Modified: ". gmdate('r', $max));

    header("Expires: " . gmdate("r", ($max+$interval)));

    header("Cache-Control: max-age=$interval");

    相关文章

      网友评论

          本文标题:PHP practice - chapter 2

          本文链接:https://www.haomeiwen.com/subject/wiaxlttx.html