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的用法

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






...
...

就写了一个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