zoukankan      html  css  js  c++  java
  • cookie

    cookie
    通过Set-Cookie设置,里面的内容我们就叫cookie
    下次请求的时候会自动带上
    cookie是以健值对的形式设置,可以设置多个
    cookie的属性
    max-age和expires设置过期时间
    secure只在https的时候发送
    HttpOnly无法通过document.cookie访问(防止被攻击)

    使用

    //server.js
    const http = require('http');
    const fs = require('fs');
    
    
    http.createServer(function(req,res){
      console.log('req come', req.url);
      if (req.url === '/') {
        const html = fs.readFileSync('test.html', 'utf8');
        res.writeHead(200,{
          'Content-Type': 'text/html',
          'Set-Cookie': 'id=123'
        })
        res.end(html);
      }
    }).listen(8888);
    
    
    console.log('server listening on 8888');
    console.log('http://localhost:8888/');
    <!--test.html-->
    <body>
      <div>Content</div>
      <script>
        console.log(document.cookie)
      </script>
    </body>
    启动服务,访问8888端口,可以看到打印出来了console,访问到了,cookie设置里面有内容,每次返回的时候也带上了Set-Cookie

    cookie是可以设置多个的
    'Set-Cookie': ['id=123','abc=456']
     

    如图,多个cookie是通过数组实现的,看到两个Set-Cookie,application里面保存了两个
    cookie是存在时效的,把浏览器关了,再访问,就发现network没有了cookie,application里面是清空了重新存储的,再重新发送,就发现req又带上了cookie
    'Set-Cookie': ['id=123;max-age=2','abc=456']
    设置了,123过期时间,看下实际效果
    再刷新,发现req里面只带了456



    cookie的HttpOnly
    'Set-Cookie': ['id=123; max-age=2','abc=456; HttpOnly']
    保存,启动,刷新,

     

    发现只访问到了123,再把HttpOnly去掉

     

    发现123,456都访问到了,这就是禁止js访问的作用
    cookie不同域不能共享cookie,二级域名一样可共享cookie
  • 相关阅读:
    各种有趣言论收集
    人类未来进化方向恶考
    mysql 列所有表行数
    恩,有那么一个人
    00后厉害哇
    。。。。
    放弃微博,继续回来写月经
    嘿,大家还好吗
    git
    require js
  • 原文地址:https://www.cnblogs.com/wzndkj/p/10080910.html
Copyright © 2011-2022 走看看