1、用于保存页面信息:如自动登录,记住用户名

2、对于同一个网站只有一套cookie,它是以域名为单位的,一个域名就是一套,数量大小有限4k-10k,同时会具有过期时间

3、JS中通过document.cookie进行调用

a、设置:在cookie中利用document.cookie=”user=ni;expires=Date;Path=path;HttpOnly;等”,通过此方法依次设置一个值,赋值时不会进行覆盖而是添加到之前值得末尾,但是同名的参数则会将其进行覆盖,有多个值需要设置时利用该形式多次赋值,指定过期时间的cookie是存储在本地的,没有指定时为session Cookie会话结束后就会将cookie删除掉。如果设置了domain和path则只有在指定的域下面的路径的子部分可以访问设置这些  cookie。

b、读取cookie:读取时要注意读取的值得形式是:a=1, b=2, c=3每个变量之间用逗号加空格的形式隔开,不会带有后面的参数属性值,所以获取时要利用split函数。

c 、删除cookie时只用将expires设置为-1即可。

Var a=setDate(new date()+day) day可以为任意值表示将当前时间加上指定天数后的日期,该方法会自动的按照正常日历的方式进行加天数。如:当前时间为2016-05-02,day为30时则a的值为:2016-06-1。当day很大时也是同样的道理往前推。

4、通过http请求资源时会携带cookie的值(在IE678,Safari中跨域请求时不能携带设置有过期时间的cookie),但是所有的游览器不允许跨域访问。

5、通过设置HttpOnly(只有发送http请求时才会发送cookie的值,JS不能直接获取到cookie)可以防止XSS中的cookie劫持

cookie的缺陷是非常明显的

1. 数据大小:作为存储容器,cookie的大小限制在4KB左右这是非常坑爹的,尤其对于现在复杂的业务逻辑需求,4KB的容量除了存储一些配置字段还简单单值信息,对于绝大部分开发者来说真的不知指望什么了。

2. 安全性问题:由于在HTTP请求中的cookie是明文传递的(HTTPS不是),带来的安全性问题还是很大的。

3. 网络负担:我们知道cookie会被附加在每个HTTP请求中,在HttpRequest 和HttpResponse的header中都是要被传输的,所以无形中增加了一些不必要的流量损失。

Cookie 是保存在客户端的,session是保存在服务器端的,在项目中使用cookie时要注意设置cookie的过期时间和path,特别是path用于指定该目录下的所有文件均可以访问设置的cookie值。Cookie就是一个拼接的字符串,一次可以设置一个key value以及过期时间等。

Session是用于保存当前的用户登录信息的,存在服务器端,由于http协议的无状态性,无法知道当前用户是否已经处于等陆状态,所以需要借助cookie来保存当前会话状态中的登录信息,将session的值以sessionID的形式存在cookie中,当发送http请求时cookie会发送到服务器端,通过sessionID的值来判断用户是否处于登录状态。当然用户可以禁用cookie,此时则需要利用URL地址重写,即将用户的session信息写到URL中

cookie和session的区别异同的更多相关文章

  1. cookie和session的区别及在Django中应用

    Django中Cookie和session应用 什么是cookie? cookie是客户端浏览器上的一个文件,以键值对进行保存,类似于字典的 {'key' : 'value'} ,与服务器端没有关系, ...

  2. Cookie和Session的区别

    前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...

  3. cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

  4. Cookie和Session的区别详解

    本文引用自:http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一 ...

  5. cookie 和session 的区别

    假如我填好了淘宝的用户名密码,点击登录,浏览器客户端像服务器端发送请求,这时服务器端看这个用户是第一次登陆,session会让客户端这个浏览器生成个cookie,并给cookie一个session i ...

  6. Cookie与Session的区别-总结很好的文章

    Cookie与Session的区别-总结很好的文章 本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解,并对 ...

  7. 【转】cookie和session的区别

    原作者:施杨(施杨's Think out)出处:http://shiyangxt.cnblogs.com ************** 本文版权归原作者和博客园共有,欢迎转载,转载请保留该申明 ** ...

  8. 认识cookie与session的区别与应用

    通常我们所说的浏览器自动保存密码,下次不用登陆,网页换皮肤,用户引导,提示一次就不再出现的内容,大部分通过cookie或者session来实现的,在这次制作用户引导中,本人就用到了cookie的内容, ...

  9. JavaWeb之Cookie和Session的区别

    Cookie和Session的区别 一.cookie机制和session机制的区别 ********************************************************** ...

随机推荐

  1. Vue 2.0初学后个人总结及分享

    摘要:最近在上海找工作,发现Vue前景还不错,于是就打算先学习一下(之前了解过,但是一直没提到日程上)这篇随笔当是为了自己学习之后,做一个小的阶段性总结.希望本文的内容对于刚开始接触vue的朋友们有点 ...

  2. Struts2之Result详解

    上一篇我们把Struts2中的Action接收参数的内容为大家介绍了,本篇我们就一起来简单学习一下Action的4种Result type类型,分为:dispatcher(服务端页面跳转):redir ...

  3. iOS 调试心得

    修复 bug 占用我们日常开发的大部分时间,熟练的使用调试工具可以给我们节约大部分的时间. LLDB 的常用命令 expression expresion 是一个非常常用的命令,我们可以通过这个命令来 ...

  4. react学习总结

    http://www.runoob.com/react/react-tutorial.html一般先看一些中文的简单的介绍和一些基本概念http://reactjs.cn/react/docs/get ...

  5. 1599: [Usaco2008 Oct]笨重的石子

    1599: [Usaco2008 Oct]笨重的石子 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 795  Solved: 543[Submit][ ...

  6. java 学习 todoList

    1.并发包的使用 2.线程相关的源码,怎么结束一个线程 3.单例模式代码 4.mixin 相关的理解代码 书单: effective java java 编程思想 spring 编程指南 深入理解jv ...

  7. javascript-引用类型--Object类型

    引用类型是一种数据结构,本质是数据和功能的集合.引用类型有时也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.引用类型相当于java里面的类,javascript虽然是一门面向对象语言,但 ...

  8. 那些"不务正业"的IT培训公司

    前言 大四下期了,现在准备找一份Java开发的实习工作,于是在各大网站上投递简历-智联招聘.51job.拉勾网,慧眼识真金的我必然会把培训机构给过滤掉,对于重庆来说招聘实习的公司少之又少,然而是智联招 ...

  9. C++标准库之vector(各函数及其使用全)

    原创作品,转载请注明出处:http://www.cnblogs.com/shrimp-can/p/5280566.html iterator类型: iterator:到value_type的访问,va ...

  10. iOS开发之如何修改导航栏的内容

    导航栏的内容由栈顶控制器的navigationItem属性决定. UINavigationItem有以下属性影响着导航栏的内容(通常在子控制器中viewDidLoad方法中调用这些方法): 左上角的返 ...