java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

COOKIE是什么-为什么丢失-限制

COOKIE是什么

不用技术术语解释,COOKIE就是在你访问网页的时候,在你的计算机上写一个小文件。文件里记录你的身份。比如你的登陆账号。

COOKIE在各种浏览器中如何设置

IE浏览器

Microsoft Internet Explorer IE7.0版本cookie设置帮助:
1.打开开始菜单中的控制面板

2.双击 Internet选项 图标(或直接在IE7中点击工具菜单下的 Internet选项 ).

3.选择 隐私 标签.

4.点击 高级 按钮.

5.选择 替代自动 cookie处理 复选框.

6.第一方 Cookie, 选 接受.

7.第三方 Cookie, 选 接受.

8.点选 总是允许会话cookie.

9.点击 OK.

10.点击 OK 退出.

IE从5到9基本都这个流程详情请参阅
http://www.china-yjy.com/sample/rsn/cookies.htm

COOKIE的用法

这个其实写程序基本都知道

<?php
$value = "my cookie value";
 
// 发送一个简单的 cookie
setcookie("TestCookie",$value);
?>
 
<html>
<body>
 
...
...

就写了一个COOKIE。

setcookie(name,value,expire,path,domain,secure)

参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

除了name和Value为必填项目,其他都可以不写。

不过这个世界浏览器真多。所以…..

是不是有时候cookie写不进去。

最近月小升开发广告监测系统的时候,就发生了这样的事情。标准的写法,在某一些情况下没有cookie生效,经过无数研究最终发现在IE某些版本下,必须写到domain

否则cookie不能生效。

setcookie("click2",$aid,time()+3600*24*365*2,'/'); //某些浏览器下无法生效
setcookie("click2",$aid,time()+3600*24*365*2,'/','.java-er.com');//全部生效的写法

在一些情况下cookie也不能生效,网上不少人都在IFrame的时候cookie不能即时生效。还有的跨域等等。

使用P3P协议,可以解决大部分问题。

以后为了兼容这些可恨的混乱的浏览器,写全了吧

setcookie("click2",$aid,time()+3600*24*365*2,'/','.java-er.com');

secure参数的说明
secure参数在HTTPS下用1,HTTP下用0。 如果你在HTTP链接上写1,cookie将不会生效。

cookie在浏览器中的限制

1.不能在页面有内容输出以后才写入cookie。

比如

echo 'abc';
setcookie("TestCookie",$value);

2.浏览器限制
一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。


This entry was posted in JAVA, PHP and tagged . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/cookie-what/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*