发表于: 2017-06-15 21:21:35

2 991


域名,Cookie是什么?Cookie 和session的区别?Cookie的有效期.Cookie的js操作

小课堂【成都小课堂】

分享人:王帅

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

IP和域名
①.什么是IP地址

我们知道,在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址。 通过IP地址就可以访问到每一台主机。我们的每个虚拟主机用户,都分配一个永久的IP地址。

②.什么是域名

虽然可以通过IP地址来访问每一台主机,但是要记住那么多枯糙的数字串显然是非常困难的,为提高可读性,Internet提供了 域名(Domain Name)。例如“IT修真院”主机的域名就是“jnshu.com”。

什么是cookie

首先,cookie,sessionStorage和localStorage,都是web存储里面的知识点,虽然都是网页数据存储,但他们产生的先后顺序和应用是不同的。

cookie有时也用cookies。网景公司发展的一种机制,Cookie是由服务器端生成,发送给浏览器,浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。目前,cookie已经成为一种标准,所有的主流浏览器如IE、chrome、Firefox、Opera等都支持Cookie。

什么是session

Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。

2.知识剖析

域名的用处

①终端必备——用域名建站

域名可以用来建站,从而实现价值最大化。但凡想要在互联网上 大展拳脚的企业,都需要有一个域名来为自己开路。 域名是网站的门面,是用户访问平台的重要途径,是一个流量入口,同时也是企业立足于互联 网的根本,对其项目开发及运营具有重要作用。

②宣传之需——借域名提升品牌形象

域名之所以备受终端喜爱,还有一个重要的原因是能够帮助企业进行广告宣传,促进品 牌推广,从而获取更多的流量。再土豪的企业,也没法天天烧钱做广告,但是有一个契合品牌的好域名就不一样了,它 能够剩下一笔广告费,有助于提升品牌形象。

Cookie的用处

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

②.记录用户的行为,例如,京东商场左下角有一个最近访问的产品记录信息,当当网上有你最近浏览过的书籍信息,都是根据用户 访问页面,记录到cookie的信息来制作的。

③.电商购物车的处理,因为在不同页面,点击添加到购物车,这个信息也是记到了cookie里面。结账的时候统一提交

④.定制页面。如果网站提供了换肤的功能,我们这个时候也是将他记录到cookie里面,以便下次访问还是保持原来的风格页面。

cookie和session的的区别

①.cookie存于客户端,只能保存字符串对象,不能保存对象类型 需要客户端浏览器的支持:客户端可以不支持,浏览器用户可以禁用Cookie;

session存于服务器端。状态信息保存在服务器端。这意味着安全性更高 通过类似与Hashtable的数据结构来保存 能支持任何类型的对象(session中可含有多个对象)

cookie的有效期

默认情况下,cookie是一个会话级别的,用户退出浏览器后被删除

cookie的有效期是可以自行设置的。 如果设置了过期时间,浏览器就会把 cookie 保存到硬盘上,关闭后再次打开浏览器, 这些 cookie 依然有效直到超过设定的过期时间。

3.常见问题

cookie是不安全的,因为他可以被用户篡改。同时由于cookie存储大量的信息,一旦这些信息泄露出来,也是危害很大的,所以,我们要慎用cookie

5.编码实战

浏览器中如何查看和禁用cookie。

js中cookie操作                                    

6.扩展思考

什么是域名解析服务(DNS)?

人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的, 它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成, 整个过程是自动进行的。

7.参考文献

参考一:cookie和session的区别和各自的应用场景

参考一:cookie的js操作

8.更多讨论

cookie与本地存储之间的区别

①. cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。

②. cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

③. 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。






今天完成的事情:

    重构任务10 controller,将复用部分抽出

    学习了promise

    小课堂PPT

    

  

明天计划的事情

   promise这个知识点还要继续学习一下

   师兄检查出来问题就继续重构任务10

   

    

    

遇到的问题:   

 下面是promise的小例子

 function runAsync(){

    var p = new Promise(function(resolve, reject){

        setTimeout(function(){

            console.log('执行完成');

            resolve('随便什么数据');

        }, 2000);

    });

    return p;            

}

runAsync().then(function(data){

    console.log(data)}

            promise用于执行异步操作,取代回调函数的方式,避免了回调函数多次嵌套产生的高耦合,难维护,难理解的问题。

           promise实际就是一个构造函数,接收一个参数是函数,并且这个函数又有两个参数resolve(可以理解为异步操作成功后执行的东西), reject(异步操作失败后执行的东西),setTimeout就是一个异步操作,这里resolve的中的值(“随便什么数据”)会成为runAsync().then(function(data)中的data,实际上这里的data可以是值也可以是一个对象,reject与resolve一样的,只是resolve用于判断异步成功后的操作,reject用于判断异步操作失败后的操作。除了.then的用法以外还有catch的用法,用来指定reject的回调,也可以用来监测resolve中的报错。.all方法是将所有的异步执行操作完成后执行回调。

  

   

  

收获:  promise 和cooike储存。

 



返回列表 返回列表
评论

    分享到