zoukankan      html  css  js  c++  java
  • cookie

    // 1. 定义:什么是cookie呢。cookie就是存储在客户端的一小段文本;
    // 2. cookie是一门客户端的技术,因为 cookie 是存储在客户端浏览器中的;
    // 3. cookie 的作用,是为了实现 客户端与 服务器端之间的状态保持;
    // 4. cookie 技术,不安全,不要使用 cookie 保持敏感信息;
    // 5. cookie 默认,在浏览器页面关闭之后,就立即失效了;如果想指定 cookie 的过期时间,需要通过 expires 属性来实现
    
    const http = require('http')
    
    const server = http.createServer()
    
    // 需求:如果客户端是第一次请求 服务器,就返回文本 "送你一朵小红花"
    // 如果不是第一次请求服务器,就返回文本 "不要太贪心"
    server.on('request', (req, res) => {
      if (req.url === '/') {
        // 每次客户端请求服务器,我们都可以解析一下请求头中,是否携带了 cookie,如果携带了cookie,则把 cookie 解析出来,解析为一个对象;
        const cookie = {}
        req.headers.cookie &&
          req.headers.cookie.split('; ').forEach(item => {
            const parts = item.split('=')
            cookie[parts[0]] = parts[1]
          })
    
        if (cookie.isvisit === 'yes') {
          //客户端之前曾经访问过服务器
          res.writeHeader(200, {
            'Content-Type': 'text/html; charset=utf-8'
          })
          res.end('不要太贪心')
        } else {
          // 客户端之前没有访问过服务器
          const expiresTime = new Date(Date.now() + 10 * 1000).toUTCString()
          res.writeHeader(200, {
            'Content-Type': 'text/html; charset=utf-8',
            'Set-Cookie': ['isvisit=yes; expires=' + expiresTime, 'test=ook']
          })
          res.end('送你一朵小红花')
        }
      } else {
        res.end('404')
      }
    })
    
    server.listen(4321, () => {
      console.log('server running at http://127.0.0.1:4321')
    })
  • 相关阅读:
    Symbol Commands
    Control Structures
    script.stub
    Lowest Common Ancestor of a Binary Search Tree
    Move Zeroes
    Odd Even Linked List
    ubuntu18.04系统安装及php7.2,apache2,mysql8,git,svn,composer,vs code 到安装 php 扩展配置php.ini 实现 laravel5.8 运行
    thinkphp3.2.3 自定义路由实践
    thinkphp3.2.3 自动验证 unique 出错的解决办法
    【重磅】中国集成电路产业基金投资版图详解
  • 原文地址:https://www.cnblogs.com/tuziling/p/10229667.html
Copyright © 2011-2022 走看看