在node.js中使用COOKIE

node.js中如何向客户端发送COOKIE呢?有如下两个方案:一、使用response.writeHead,代码示例://设置过期时间为一分钟1vartoday=newDate();

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

在node.js中使用COOKIE此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

node.js中如何向客户端发送COOKIE呢?
有如下两个方案:
一、使用response.writeHead,代码示例:
//设置过期时间为一分钟

 1 var today = new Date();
 2 var time = today.getTime() + 60*1000;
 3 var time2 = new Date(time);
 4 var timeObj = time2.toGMTString();
 5 response.writeHead({
 6 'Set-Cookie':'myCookie="type=ninja", "language=javascript";path="/";Expires='+timeObj+';httpOnly=true'
 7 });
 8 
 9 
10 语法如下(具体每个字段的解释,请看下文的“options字段含义”):
11 Set-Cookie:'
12 cookieName=cookieValue;
13 [expires=]
14 [;domain=]
15 [;path=]
16 [;secure=]
17 [;httpOnly=]
18 '

 

通过查看,COOKIE如下图所示:

在node.js中使用COOKIE
缺点:使用response.writeHead只能发送一次头部,即只能调用一次,且不能与response.render共存,否则会报错

 

http://www.cnblogs.com/roucheng

二、使用response.cookie,代码示例如下:

response.cookie(‘haha’, ‘name1=value1&name2=value2′, {maxAge:10*1000, path:’/’, httpOnly:true});

语法如下:
response.cookie(‘cookieName’, ‘name=value[name=value…]’,[options]);

options字段含义:
1、expires:指定过期时间,以GMT格式表示的时间字符串,如方法一个的“timeObj”。
2、maxAge:指定过期时间,同expires(expires和maxAge选两者其一设值即可)。和expires不同之处在于,maxAge值的单位为毫秒(见方法二中的maxAge:10*1000,即为10秒)。maxAge值可以是正数和负数。正数表示当前COOKIE存活的时间。负数表示当前COOKIE只是随着浏览器存储在客户端的内存里,只要关闭浏览器,此COOKIE就马上消失。默认值为-1。
3、domain:指定可访问COOKIE的主机名。主机名是指同一个域名下的不同主机。如:www.hovertree.com和tool.hovertree.com是在两个不同的主机上,即两个不同的主机名。默认情况下,一个主机中创建的COOKIE在另一个主机下是不能被访问,但可以通过domain参数来实现对其的控制,即所谓的跨子域。以hovertree为例,要实现跨主机(跨子域)访问,写法如下:domain=.hovertree.com,这样就实现了所有hovertree.com下的主机都可以访问此COOKIE。(本机环境上设置此值时,COOKIE无法查看。)
4、path:指定可访问此COOKIE的目录。如:path=/default 表示当前COOKIE仅能在 default 目录下使用。默认值为“/”,即根目录下的所有目录皆可以访问。
5、secure:当设为true时,表示创建的COOKIE会以安全的形式向服务器传输,即只能在HTTPS连接中被浏览器传递到服务器端进行会话验证;若是HTTP连接则不会传递该信息,所以不会被窃取到COOKIE里的具体内容。同理,在客户端,我们也无法使用document.cookie找到被设置了secure=true的cookie健值对。secure属性是防止信息在传递的过程中被监听捕获后信息泄漏,httpOnly属性的目的是防止程序获取COOKIE后进行攻击(XSS)。我们可以把secure=true看成比httpOnly=true是更严格的访问控制。
6、httpOnly:是微软对COOKIE做的扩展。如果在COOKIE中设置了“httpOnly”属性,则通过程序(JS脚本、applet等)将无法读取到COOKIE信息,防止XSS攻击产生。
通过查看,COOKIE如下图所示:

在node.js中使用COOKIE

http://www.cnblogs.com/roucheng/p/3520056.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120684.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 浅析MOS管工作原理「建议收藏」

    浅析MOS管工作原理「建议收藏」MOS管分为N沟型MOS管和P沟型MOS管N沟型P沟型N沟型:漏极D接正极,源极S接负极,栅极G正电压时导电沟道建立,N沟道MOS管开始工作。P沟型:漏极D接负极,源极S接正极,栅极G负电压时

  • 面试之Solr&Elasticsearch[通俗易懂]

    面试之Solr&Elasticsearch[通俗易懂]面试之Solr&Elasticsearch

  • 深入浅出,JWT单点登录实例+原理

    深入浅出,JWT单点登录实例+原理深入浅出,JWT单点登录实例先直接上案例,方便工作中拷贝。后面说原理。代码git链接 案例演示:Controller: 登录授权接口,用户输入名字密码后请求此接口。登录成功后返回jwt 模拟认证中心,真实环境中此接口应该是一个单独的服务,这里方便演示,用一个接口代替。@PostMapping(“/login”)publicObjectlogin(){returnnull;} 主业务服务的主接口,返回主页

  • QThread使用——关于run和movetoThread的区别「建议收藏」

    QThread使用——关于run和movetoThread的区别「建议收藏」QThread使用探讨2010-10-2300:30注意:本文停止更新,请优先考虑 Qt线程基础(QThread、QtConcurrent等)dbzhang8002011.06.18QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便

  • django drf jwt_django登录验证

    django drf jwt_django登录验证前言带着问题学习是最有目的性的,我们先提出以下几个问题,看看通过这篇博客的讲解,能解决问题吗?什么是JWT?为什么要用JWT?它有什么优势?JWT的认证流程是怎样的?JWT的工作原理?我们

  • 如何制作bom表_如何制作bom表

    如何制作bom表_如何制作bom表(全路径Excel软件视频教程都可领取会员后免费学习)点我领会员免费学Excel全套基础入门教程!一、Excel软件入门MicrosoftExcel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。第一章软件入门介绍第1课软件…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号