zoukankan      html  css  js  c++  java
  • HTTP--cookie和session

      http是无状态协议,它不对之前发生过的请求和响应进行管理。也就是说,无法根据之前的状态进行本次的请求处理,哪怕你刚刚才访问过这个服务器,可当你下一秒再访问时,服务器已经忘了你是谁了。假设要求登陆认证的web页面本身无法进行状态的管理(不记录已登陆的状态),那么每次跳转页面就要再次登陆,或者要在每次请求报文中附加参数来管理登录状态。

      于是,引入了cookie技术。Cookie机制会根据服务器段发送的响应报文中的一个Set-Cookie的首部字段信息通知客户端保存cookie。当下一次客户端再向服务器发送请求时,客户端会自动在请求报文中加入一个cookie首部字段后发送,首部字段值为键值对的形式。

    一段通俗的解释过程:

    服务器为了区别用户,给每个首次访问网站的用户(请求头里没有cookie或者cookie里没有SessionID,SessionID即为cookie首部中的值)设置一个SessionID,同时在服务器端保存一个带有SessionID的文件,来保存用户的一些信息。

    因此,两者的区别在于:

    1.session是一种机制,cookie只是为了实现这个机制的一部分。

    2.cookie存储在客户端,也就是浏览器;SessionID以及其他的一些用户信息存储在服务器。

    3.浏览器在访问网页时会把该服务器给你的SessionID放到cookie头中去请求,这是所有浏览器最基本的功能。

    图解HTTP中的一个例子:

  • 相关阅读:
    JavaScript中创建对象的几种模式
    Vue学习5:条件渲染
    Vue学习4:class与style绑定
    Vue学习3:计算属性computed与监听器
    Vue学习2:模板语法
    普通递归与优化递归
    new操作符具体干了什么呢?
    各种形式存放token
    用es6的Array.reduce()方法计算一个字符串中每个字符出现的次数
    ES6 对象的解构赋值
  • 原文地址:https://www.cnblogs.com/wxylyw/p/9184599.html
Copyright © 2011-2022 走看看