zoukankan      html  css  js  c++  java
  • Cookie

    Cookie的诞生,为什么叫会话跟踪技术?

    1. 在一次会话从开始到结束的整个过程,全程跟踪记录客户端的状态(例如:是否登录、购物车信息、是否已下载、是否已点赞、视频播放进度等等)

    2. 你把cookie就当成是第一次跟服务器连接后,服务器发给你的身份牌,上面就记录跟你有关的信息,以后只要再跟服务器通信,必须带着这个身份牌。这样一来,关于你是谁?有没有登录过?购物车里有什么信息?服务器当然就很容易知道了。

    cookie的特点:

    1. 只能使用文本文件

    2. 文件有大小限制(4kb), 数量限制

    3. 读取有域名限制:不可跨域读取,只能由来自写入cookie的同一域名的网页可进行读取。
      简单的讲就是,谁写的cookie,谁才有权利读取

    4. 时效限制:每个cookie都有时效,最短的有效期是,会话级别:就是当浏览器关闭,那么cookie立即销毁

    cookie的使用

    一、添加cookie

    1. Document.cookie =“username=123”;//一次写入一个键值对,一次写入多个,只有第一个生效,或者采用&符号链接user=张三&password=123&name=xxxx;

    2. 保存形式:key=value

    3. 如果有中文编码问题,使用encodeURIComponent(“xxxx”)编码,再使用decodeURIComponent(document.cookie)解码,能解决中文乱码问题

    二、cookie失效时间

    1. 如果不加这个参数,默认情况下为临时cookie,也就是关闭浏览器则cookie失效。

    2. Expires=date,指定在什么时间,cookie被自动清理,如果手动调整系统的时间,让cookie消失,可以进行恢复,此时为假删除,当覆盖某个键值对,并设置失效时间过期时,则cookie被删除,不能恢复

    Var date = new Date():
    
    date.setDate(date.getDate() + 7);
    
    document.cookie = "user=" + encodeURIComponent("张三") + ";expires=" + date;
    
    
    1. Cookie的完整存储形式

    name=value [;expires=date] [;path=path] [;domain=michael.com][;secure];
    中括号是可选,name=value是必选。

    1. Cookie的路径问题

    在同一路径下的网页可以共享cookie,路径不同时,不能访问
    6. Cookie的域名问题

    1. 必须在绑定域名的服务器上才可以设置域名
    2. 并且只能设置绑定的域名,也就是说,不同服务器间的cookie文件不共享
    1. Secure安全设置:指明必须通过安全的通信通道来传输(https)才能获取cookie.

    cookie作用:

    1.可以在客户端上保存用户数据,起到简单的缓存和用户身份识别等作用。

    2.保存用户的登陆状态,用户进行登陆,成功登陆后,服务器生成特定的cookie返回给客户端,客户端下次访问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,来判断用户是否登陆。

    3.记录用户的行为。

    cookie弊端:

    1.增加流量消耗,每次请求都需要带上cookie信息。

    2.安全性隐患,cookie使用明文传输。如果cookie被人拦截了,那人就可以取得所有的session信息。

    3.Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉

  • 相关阅读:
    java FileI(O)nputStream为什么比BufferedI(O)utputStream慢?
    JDBC 关于大文本数据
    JDBC 关于Date格式
    JDBC 增删改查代码 过滤查询语句
    JavaBean与JSP
    配置tomcat映射jsp
    【Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析】
    【Xamarin挖墙脚系列:多窗口之间的导航】
    【Xamarin挖墙脚系列:Xamarin.IOS的程序的结构】
    【Xamarin挖墙脚系列:在VMware11中安装Mac10.11 EI Captain后的vmware tools】
  • 原文地址:https://www.cnblogs.com/yinxingen/p/7903565.html
Copyright © 2011-2022 走看看