初学cookie和session

267 阅读1分钟

cookie

先举个例子,检票员工作就是有门票能进,没票不能进,而Cookie就是门票。

cookie是服务器下发给浏览器的一段字符串,浏览器必须保存这个cookie(除非用户自己删除),之后发起相同二级域名的请求(任何请求)时,浏览器必须附上cookie。

setHeader('Set-Cookie','cookieName=CookieValue;HttpOnly')可以防止前端操作cookie。

获取对应cookie:

 function getCookie(cookieName) {
      const strCookie = document.cookie
      const arrayCookie = strCookie.split(';')
      let targetCookie
       try { targetCookie = arrayCookie.filter((cookie) => cookie.indexOf(cookieName + '=') >= 0)[0] }
        catch (error) { }
        if (targetCookie) {
           const cookieValue = targetCookie.split('=')[1]
           return cookieValue
            } else {
                return undefined
            }
        }

session(未完)

为了防止篡改cookie情况的出现,需要使用到session。

服务器在发送cookie的时候,不会再发送user_id了,而是生成一个随机数,作为session_id,然后把session_id和user_id存储在x文件里