header()函数的具体应用和深层的原理问题附:推荐书也行

解决方案 »

  1.   

    ("HTTP/1.1 300 \n");
    ("Server: Apache \n");
    ("Accept-Ranges: bytes \n");
    ("Content-Length: 132 \n");
    ("Cache-Control: max-age=132,public"\n");
    ("Content-type: text/html \n");
    ("Connection: keep-alive \n");
    ("\n\n");
      

  2.   

    w3school的教程,讲得比较好
    http://www.w3school.com.cn/php/func_http_header.asp
      

  3.   

    我也看过这些网站,可是我的心理还是有许多疑问不能解决,比如:
    在 PHP 4 以及更高的版本中,您可以使用header()输出缓存来解决此问题,
    大疑问:为什么在登陆时初始设置cookie时,有时要进行header()里对浏览器进行一些相关的设置,他们之间有什么联系吗
      

  4.   

    header('Content-Type: text/html; charset=utf-8');
    header('Expires: Sat, 01 Jan 2000 00:00:00 GMT');
    header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    header('Cache-Control: post-check=0, pre-check=0',false);
    header('Pragma: no-cache');
    session_cache_limiter('public, no-store');              
    session_set_cookie_params(0);                          
    if (!session_id()) session_start();                    //在session_start中就会自动生成一个ID号
    setcookie('PHPSESSID', session_id());                   //把sessionID保存到cookie里require_once ("include/xajax.inc.php");             /*增加xajax类库*/
    require_once ('include/localization.class.php');//session_start();if (isset($_SESSION['curuser']['country']) )
    $GLOBALS['locate']=new Localization($_SESSION['curuser']['country'],$_SESSION['curuser']['language'],'login');
    else
    $GLOBALS['locate']=new Localization('en','US','login');
    $xajax = new xajax("login.server.php");
    $xajax->registerFunction("processForm");  //register xajax_processForm
    $xajax->registerFunction("init"); //register xajax_init
    $xajax->registerFunction("setLang");
    $xajax->registerFunction("clearDynamicMode");
      

  5.   

    header('Content-Type: text/html; charset=utf-8');  //设置字符集为utf-8;header('Expires: Sat, 01 Jan 2000 00:00:00 GMT');
    header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    header('Cache-Control: post-check=0, pre-check=0',false);
    header('Pragma: no-cache');
    这三行是强制浏览器不进行缓存!让用户每次都能得到最新的资料,而不是 Proxy 或 cache 中的资料。
      

  6.   

    《PHP6高级编程》、《细说PHP》这两本书不错,我之前看过。
      

  7.   

    PHP+Mysql Web 开发第四版,这本感觉也不错,现在一直在看~~~
      

  8.   

    你说的让用户每次都能得到最新的资料这具体来说是些什么资料,是用户的信息,还是有关整个更新网页的信息?
    我看过一些说header()的,也讲了一些关于这方面的知识,这与http协议时候有关系吗?,我在百度上看到一些有关http头消息的讲解不知是不是就是现在我门说的这个:
    "HTTP的消息分为两种类型:从客户端发往服务器端的请求消息和从服务器发往客户端的响应消息。即:HTTP-message = Request | Response"
    其中:
    当HTTP消息包含消息体时,消息体是用来承载与请求或响应消息体是用来承载与请求或响应相关的实体正文的相关的实体正文的。对于请求和响应而言,消息中所允许出现消息体的格式是不一样的。
    – 请求消息中的消息体:当请求消息头中包含Content-Length或Transfer-Encoding头字段时意味着消息中包含消息体。如果某些请求方法(method)不允许在请求中发送实体正文时,请求中不能够包含消息体。
    – 响应消息中的消息体:响应消息中是否包含消息体取决于请求方法和响应状态码(status code)。请求方法“Head”的响应消息就不能够包含消息体,即使此时包含有实体头字段。所有状态码为1xx、204(no content)、304(not modified)的响应都不能够包含消息体。 

    而且还说了一些关于header属性的一些设置,比如:request-header = Accept | Accept-Charset | Accept-Encoding
    | Accept-Language | Authorization | Expect
    | From | Host | If-Match | If-Modified-Since
    | If-None-Match | If-Range
    | If-Unmodified-Since
    | Max-Forwards | Proxy-Authorization
    | Range | Referer | TE | User-Agent 

      

  9.   

    最新的资料当然是整个页面的消息啊。跟http协议有关。具体请参考相关资料。
      

  10.   

    支持二楼的那位。那上面有php的详细介绍