cookie,又是cookie。工作中与cookie打交道很多次,不过时间跨度也大,每总结多一次,就加深了解多一点。

cookie,一定是放在浏览器中的,用于浏览器保存一些小额度的内容。每次我们去访问服务器的时候,cookie都会附着在请求报文中,一起发送给服务器。服务器中没有cookie,它只是操作浏览器发送过来的cookie而已。也因为如此,我们在服务器端的代码中处理cookie的时候,比如变更某个cookie的值,其实这个更改对于浏览器而言,还没有生效,一定要返回到浏览器中,才会将这个更改真正实施。当然,在服务器端中,跟更改一个其他变量,比如session,没有什么两样,改了就是改了。
注意:每次我们去访问服务器的时候,cookie都会附着在请求报文中,一起发送给服务器,但并不是所有的cookie都会发送,而是将当前访问的网站,相同顶级域名下的cookie随同发送。好比说,我浏览器访问过百度和网易,那么这两个站点都有cookie。当我访问百度的时候,浏览器就只发送百度的cookie;访问网易,就只发送网易的cookie。如果访问百度的时候,想访问网易的cookie,那叫跨域请求,好像比较困难。
更多的情况下,是子域名访问父域名、顶级域名的cookie。好比说,baidu.com是顶级域名,www.baidu.com、news.baidu.com都是二级域名,http://guonei.news.baidu.com/是三级域名,……,如此类推。那么,顶级域名的cookie,二级、三级、子孙级等都能访问。反过来,子孙的域名是否能被父辈级域名访问,好像也可以,具体不记得了。
总之,cookie有一个域。
相同域名且同等级域名下,可以直接操作,无须指明域,node.js下也是如此:

response.cookie('logFlag', 'out');

但如果这个cookie是父级的,那么就要指明域,否则更改不了(但似乎可以直接读取):

response.cookie('logFlag', 'out',{domain:'.baidu.com'});  

第3个参数是个json,除了指明域名,还可以指明过期时间,路径,等等,看需要。
现在的浏览器,可以看到这个cookie。比如我用chrome打开某个网站,然后按F12,然后选NetWork标签,左边列表点开cookie,情况会一目了然,很是好用。

node.js下操作cookie的更多相关文章

  1. node.js高效操作mongodb

    node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为Jav ...

  2. Node.js之操作文件系统(一)

    Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步 ...

  3. Node.js之操作文件系统(二)

    Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...

  4. 在Node.js中操作文件系统(一)

    在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...

  5. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  6. node.js 下依赖Express 实现post 4种方式提交参数

    上面这个图好有意思啊,哈哈, v8威武啊.... 在2014年的最后一天和大家分享关于node.js 如何提交4种格式的post数据. 上上一篇说到了关于http协议里定义的4种常见数据的post方法 ...

  7. npm 是node.js下带的一个包管理工具

    npm 是node.js下带的一个包管理工具          npm install -g webpack webpack是一个打包工具 gulp是一个基于流的构建工具,相对其他构件工具来说,更简洁 ...

  8. Node.js文件操作二

    前面的博客 Node.js文件操作一中主要是对文件的读写操作,其实还有文件这块还有一些其他操作. 一.验证文件path是否正确(系统是如下定义的) fs.exists = function(path, ...

  9. mongoose - 让node.js高效操作mongodb

    Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...

随机推荐

  1. My-Eclipse 快捷键大全

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+ ...

  2. 使用WAS寄宿net.tcp WCF服務

    首先添加Windows Features 確保打開以下服務 Net.Tcp Listener Adapter Net.Tcp Port Sharing Service Windows Process ...

  3. 第五届蓝桥杯校内选拔第六题_(dfs)

    你一定听说过“数独”游戏.如[图1.png],玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个同色九宫内的数字均含1-9,不重复. 数独的答案都是唯一的,所以 ...

  4. jQuery,遍历表格每个单元格数据。

    <table class="table table-hover table-bordered"> <thead> <tr> <th > ...

  5. java.lang.NoSuchFieldError: DEFAULT_INCOMPATIBLE_IMPROVEMENTS

    解决方案: 启动类上加@EnableAutoConfiguration(exclude = { FreeMarkerAutoConfiguration.class }) 或者在配置文件添加spring ...

  6. java学习日志---File实例:实现复制整个文件夹、解决listFiles()为null问题

    需求:将H盘下的所有文件复制到H:/All 文件夹中 思路:使用递归遍历整个目标目录 传入目标路径 判断是否是文件夹 是:调用listFiles()方法,得到File数组,重点内容接着执行1 否:复制 ...

  7. Luogu P1311 选择客栈

    暴力 我一开始做这道题先想到的就是暴力... 所以先说一下暴力的做法.首先在输入的时候讲花费小于P的位置标记下来,然后用两层循环枚举所有的两个客栈的组合方案.再用一层循环将两个客栈之间的位置扫一遍,如 ...

  8. [luogu3067 USACO12OPEN] 平衡的奶牛群

    传送门 Solution 折半搜索模板题 考虑枚举每个点在左集合和右集合或者不在集合中,然后排序合并即可 Code //By Menteur_Hxy #include <cmath> #i ...

  9. freopen的各种错误姿势

    本弱鸡已经触发的错误姿势: freoprn("railway.in","r",stdin); freopen("railway.cpp",& ...

  10. BZOJ 1782 洛谷 2982 [Usaco2010 Feb]slowdown 慢慢游

    [题解] 一头牛走到i,相当于把i点的子树的点权都加1,查询减慢的次数就是查询目的地的点权. 预处理dfs序,某个点的子树的dfs序是连续的一段.差分后用树状数组维护,变成点修区查.或者直接线段树区修 ...