zoukankan      html  css  js  c++  java
  • 10节

    一、 “Cookie”定义于RFC2109(网络协议)。它是网景公司以前雇员Lou Montulli在1993年3月的一大创造和发明。在“Cookie”的概念界定上,IT业界精英们没有分歧。“Cookie”定义如下:Cookie,是指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密)。但是,在是否应当保留“Cookies”上分歧颇大、水火不容。

    优点:

        由于“Cookie”是网站服务器存储在客户端硬盘中的一些被未来使用(调用)的信息,所以应当保留不应“拒绝”更不可“禁用”(最低限也要设定一定的保留期限),这有助于下次再浏览该网站时会加快浏览访问速度。更重要的是,有利于进行脱机浏览以节约上网费用。

    缺点:

        在病毒、木马肆虐横行的网络世界,Cookies挂马、挂毒已经严重危及用户的隐私和安全。另外,保存过多的Cookies会成为有碍系统运行流畅的垃圾。因此保留有害无益。目前有些国家(如:瑞典)已经通过cookie立法,要求网站必须指导用户如何禁用“Cookie”。

    cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。
    二、
    JS设置cookie
    假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:
    document.cookie="name="+username;

    JS读取cookie
    假设cookie中存储的内容为:name=jack;password=123
    则在B页面中获取变量username的值的JS代码如下:
    var username=document.cookie.split(";")[0].split("=")[1];
    //JS操作cookies方法
    //js写cookies
    function setCookie(name,value)
    {
    var Days = 30;
    var exp = new Date();
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    var strsec = getsec(time);
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec*1);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }

    //js读取cookies
    function getCookie(name)
    {
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg))
    return (arr[2]);
    else
    return null;
    }

    //js删除cookies
    function delCookie(name)
    {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null)
    document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }
    //使用示例
    setCookie("name","hayden");
    alert(getCookie("name"));
    //如果需要设定自定义过期时间
    //那么把上面的setCookie 函数换成下面两个函数就ok;
    //程序代码
    function setCookie(name,value,time)
    {
    var strsec = getsec(time);
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec*1);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }

    function getsec(str)
    {
    alert(str);
    var str1=str.substring(1,str.length)*1;
    var str2=str.substring(0,1);
    if (str2=="s")
     {return str1*1000;}
    else if (str2=="h")
      {return str1*60*60*1000;}
    else if (str2=="d")
      {return str1*24*60*60*1000;}
    }
    //这是有设定过期时间的使用示例:
    //s20是代表20秒
    //h是指小时,如12小时则是:h12
    //d是天数,30天则:d30
    setCookie("name","hayden","s20");

    三、

    看了很多面向对象的定义,绝对这句最妥切,面向对象的web开发是面向对象开发的一种,我们要离开语言谈思想,如下:
    
    从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,
    认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其
    它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
    、如果给一个单位做相关的软件,你认为最重要的是需要得到谁的支持,为什么?
    答:老板,因为老板不同意软件做了也没人采纳。
    
    
  • 相关阅读:
    GUI编程笔记(java)02:java.awt和java.swing包的区别
    GUI编程笔记(java)01:GUI和CLI
    Android(java)学习笔记138:三重for循环的优化(Java面试题)
    Android(java)学习笔记137:ListView编写步骤(重点)
    Android(java)学习笔记136:利用谷歌API对数据库增删改查(推荐使用)
    Android(java)学习笔记135:SQLite数据库(表)的创建 以及 SQLite数据库的升级
    spring ioc 注解配置
    代码简洁之道与重构
    快速定位到方法的被调用处
    spring ioc xml配置
  • 原文地址:https://www.cnblogs.com/jing66/p/3655968.html
Copyright © 2011-2022 走看看