node.js下操作cookie
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的更多相关文章
- node.js高效操作mongodb
node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为Jav ...
- Node.js之操作文件系统(一)
Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步 ...
- Node.js之操作文件系统(二)
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...
- 在Node.js中操作文件系统(一)
在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- node.js 下依赖Express 实现post 4种方式提交参数
上面这个图好有意思啊,哈哈, v8威武啊.... 在2014年的最后一天和大家分享关于node.js 如何提交4种格式的post数据. 上上一篇说到了关于http协议里定义的4种常见数据的post方法 ...
- npm 是node.js下带的一个包管理工具
npm 是node.js下带的一个包管理工具 npm install -g webpack webpack是一个打包工具 gulp是一个基于流的构建工具,相对其他构件工具来说,更简洁 ...
- Node.js文件操作二
前面的博客 Node.js文件操作一中主要是对文件的读写操作,其实还有文件这块还有一些其他操作. 一.验证文件path是否正确(系统是如下定义的) fs.exists = function(path, ...
- mongoose - 让node.js高效操作mongodb
Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...
随机推荐
- MySQL 8.*版本 修改root密码
MySQL .*版本 修改root密码 查看版本:select version() from dual; 1.6. 登录mysql: 登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码, ...
- java byte
项目中有段代码,一直让我疑惑不解,但我是个很会偷懒的人,只要拷贝来改改能用的代码,万万不会自己动手写,虽然一直有疑惑,也懒得搭理是怎么个原理. 直到今天,又要解析协议,又要动这个地方的代码,还是来盘他 ...
- 'dict' object is not callable
今天学py的map函数时,由于在上面定义了一个dict类型的变量(取的名是map),所以编译后报了这么一个错,哎,以后学py命名要小心了
- 在PL/SQL DEV里面有把锁一样的按钮,点击它会跳出“these query result are not updateable,include the ROWID to get updateab
在PL/SQL DEV里面有把锁一样的按钮,点击它会跳出“these query result are not updateable,include the ROWID to get updateab ...
- <MyBatis>入门二 全局配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- PyCharm开发GUI之PyQt安装
开发环境 PyCharm 2018.3.3python3.7 1 安装pyqt5 pip install PyQt5-tools 2 配置PyCharm 2.1 配置设计器 其中,program为C: ...
- lombok 插件安装
1. 下载地址: https://plugins.jetbrains.com/plugin/6317-lombok-plugin 2. 选择从本地安装.
- unigui的ini文件读写【6】
procedure THeaderFooterForm.writerParas; var IniFile : TIniFile; begin try IniFile:=TIniFile.Create( ...
- git命令大杂烩
查看版本库中的文件: git ls-files添加到暂存区: git add filesName|\folderName(循环递归) git add .(添加当前目录下的所有文件包括子目录,如果添加文 ...
- 【Codeforces 1030D】Vasya and Triangle
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 参考这篇题解:https://blog.csdn.net/mitsuha_/article/details/82825862 为什么可以保证m ...