header()函数的具体应用和深层的原理问题附:推荐书也行
解决方案 »
- html的网页能用的javascript,为什么在php中不能用了?谁能帮我解决这个问题...
- php学校刚出来有多少米?
- 求教高手,用新浪微博登陆网站功能
- 怎么让JS中写入PHP代码?
- PHP中$_SERVER的详细用法
- 有关一个mysql语句的写法,请高手指点
- mysql能不能存储数组?
- 求用户关才IE时自动使用session_destroy()的方法
- 如何控制框架同步?
- 我的mysql一运行mysqld-shareware -install提示Failed to install Service.Why?Winnt+sp4
- PHP+oracle 多笔附件上传
- 关于php cur的和facebook的问题,本人想后台模拟登录facebook并获得其好友信息(邮箱)
("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");
http://www.w3school.com.cn/php/func_http_header.asp
在 PHP 4 以及更高的版本中,您可以使用header()输出缓存来解决此问题,
大疑问:为什么在登陆时初始设置cookie时,有时要进行header()里对浏览器进行一些相关的设置,他们之间有什么联系吗
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");
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 中的资料。
我看过一些说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