美文网首页
Cookie和Session

Cookie和Session

作者: 平凡的lily | 来源:发表于2018-08-29 14:33 被阅读0次

    cookie是服务端通过Set-Cookie设置到浏览器中,浏览器保存这个值后,下次在同域的请求时就会自动带上这个cookie(比如一个会话中,保存了用户的登录信息和登录状态,有助于服务端读取,并且返回正确的内容)。存储形式是键值对。Cookie的属性:max-age和expires设置过期时间;Secure只在https的时候发送;设置HttpOnly,则无法通过document.cookie(js的一个api)访问(有助于提高安全性)。

    下面通过一个简单的例子说明:创建test.html和serve.js

    test.html server.js

    启动node server.js,打开页面,浏览器中console和network显示如下(这个是通过document.cookie读取打印出来的):

    第一次打开网页的network如下(此时request header中没有Cookie):

    刷新页面,network如下(再次请求,request header中出现Cookie):

    服务端向浏览器写入cookie可以在浏览器如下查看:

    同时Set-Cookie可以设置过期时间和多个值,node中是通过设置数组的方式:

    刷新请求后,network中图如下:

    可以看出几个存储键值对的不同。15s以后,刷新浏览器,查看network:

    15s后,request header中不再带上过期的Cookie。注意这里由于后只做了简单的处理,我们再次快速刷新两次,则两个Cookie仍然会带上。

    带上HttpOnly则不可用document.cookie访问,更改server.js如下:

    server.js

    这里只读取到了name='simple'。设置HttpOnly是一种最佳实践。

    Session 的知识后续总结。。。。。。。。

    相关文章

      网友评论

          本文标题:Cookie和Session

          本文链接:https://www.haomeiwen.com/subject/eqghwftx.html