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. HA高可用集群

     准备2台机器:主:master:192.168.254.140从:slave:192.168.254.141 1.主上安装:wget www.lishiming.net/data/attachmen ...

  2. Java并发之线程异常捕获

    由于线程的本质特性,使得你不能捕获从线程中逃逸的异常,如: import java.util.concurrent.ExecutorService; import java.util.concurre ...

  3. 【2-23】分支语句(switch…case)及循环语句

    Switch-case分支语句与if语句作用相同,但需将情况都罗列出比较麻烦所以不常用. 其基本结构是: Switch(一个变量值) { Case 值1:要执行的代码段:break; Case 值2: ...

  4. &&运算符,三木运算符与React的条件渲染

    在使用react框架的时候中往往会遇到需要条件渲染的情形,这时候,许多人会设想采用if语句来实现,比如下面,当满足条件condition时,conditonRender渲染组件ComponentA,当 ...

  5. 1854: [Scoi2010]游戏

    1854: [Scoi2010]游戏 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 2538  Solved: 905[Submit][Status] ...

  6. javascript中parseint和number的区别

    本来是不想写这个的,网上也有,问题是讲得很不清楚,或者说我阅读能力差吧. 首先,解释一下定义的区别: parseInt将字符串(String)类型转为整数类型.Number() 函数把对象(Objec ...

  7. Spark2.1集群安装(standalone模式)

    机器部署 准备三台Linux服务器,安装好JDK1.7 下载Spark安装包 上传spark-2.1.0-bin-hadoop2.6.tgz安装包到Linux(intsmaze-131)上 解压安装包 ...

  8. Timestamp解析0000-00-00 00:00:00报格式错误

    mysql中存储的是Timestamp类型的0000-00-00 00:00:00, 但是在java程序中使用 Timestamp.valueOf("0000-00-00 00:00:00& ...

  9. 页面异步发送json数据封装controller方法形参 pojo中,使用@requestBody和不使用它页面的异步方式不同之处

    方式一: 使用@requestBody 方式二 : 直接封装到pojo的方式

  10. (11)连个工具类之间的比较4.Collections与Arrays

    集合框架中的工具类:特点:该工具类中的方法都是静态的. Collections:常见方法: 1, 对list进行二分查找: 前提该集合一定要有序. int binarySearch(list,key) ...