zoukankan      html  css  js  c++  java
  • cookie

    1、cookie是什么:

      cookie是一种客户端的状态管理技术b、当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,当浏览器再次访问服务器时,会将这些数据以cookie消息头的方式发送给服务器。

    2、如何创建一个cookie

    Cookie c = new Cookie(String name,String value);response.addCookie(c);默认情况下,cookie保存在浏览器内存中

    3、cookie的查询

    Cookie[] cookie = request.getCookies();

    注意:该方法有可能返回nullString cookie.getName():查找cookie的名字String cookie.getValue():查找cookie的值

    4、cookie的生存时间

    cookie.setMaxAge(int seconds):cookie的保存时间seconds>0:浏览器会将cookie保存在硬盘上,超过指定时间会删除该cookieseconds<0:缺省值,只将cookie保存在内存中,只要浏览器不关闭,cookie就一致保存,浏览器一旦关闭,cookie就会被清空。seconds=0:立即删除cookie,如要删除一个叫userID的cookie,那么可以这么做:Cookiec = new Cookie("userID","");c.setMaxAge(0);response.addCookie(c);

    5、cookie的编码问题

    cookie只能保存ascii字符,对于不合法的字符(如中文)需要转换成ascii码

    例:Cookie cookie3 = new Cookie("realname",URLEncoder.encode("姓名","utf-8"));

    6、cookie的路径问题

    (1)什么是cookie的路径问题?浏览器在向服务器发送请求时,会比较cookie的路径要与访问的服务器的路径是否匹配,只有匹配的cookie才会发送给服务器。

    (2)cookie的默认路径默认路径等于创建该cookie的组件路径c、匹配规则浏览器要访问的路径必须是cookie的路径或者其子路径时,才会发送对应的cookied、设置cookie的路径cookie.setPath(String path)如:cookie.setPath("/appname");这样保证这个cookie可以被整个web应用访问。

    7、cookie域

    setDomain:设置cookie域,指的是访问某个域的时候,才会带入cookie,访问其他域,不会带入cookie。默认会禁止该设置,因为安全性较差,如,访问baidu.com,baidu.com写一个域是google.com的cookie,那么访问google.com的时候会带入baidu.com的cookie,从而会实现攻击的效果。

    8、cookie的限制

    (1)cookie可以被用户禁止

    (2)cookie不完全,敏感数据,比如密码、账号等需要加密。

    (3)cookie的大小有限制,大约为4K左右

    (4)cookie的个数也有限制,大约是300个左右

    (5)每个站点最多保存20个cookief、cookie只能够保存字符串。

  • 相关阅读:
    批处理、WMI、wmic、守护进程
    链接
    给自己一个提醒——读了这篇文章感觉目前就略有体会,但是它又是一个长期的过程。
    如何设置一个日期型的TextView
    广播机制与短信拦截器
    开篇来个记录随笔 ,再感谢一下园子的管理们
    J2EE (四) Servlet 模板方法模式
    J2EE (五) SQL+PageClass实现真分页
    JMeter设置HTML报告中开始以及结束时间精确到秒
    Tomcat部署应用启动报错java.lang.ClassCastException: [XXX].filter.CharacterEncoding cannot be cast to jakarta.servlet.Filter
  • 原文地址:https://www.cnblogs.com/wpj593780933/p/10665294.html
Copyright © 2011-2022 走看看