• cookie和session的区别


    一、服务端是怎么识别用户的(session)

    由于HTTP是无状态协议,所以服务端需要记录用户的状态时,就需要某种机制来识别具体的用户。这个机制就是session。
    典型的场景如购物车,当用户下单的时候,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建特定的session,用于标识这个用户,并且跟踪这个用户,才知道用户的购物栏中是什么。这个session是保存在服务器端的,有一个唯一标识。在服务端保存session的方式有很多,内存、数据库、文件都有。

    二、客户端是怎么识别用户的(cookie)

    每次HTTP请求的时候,客户端都会发送相应的cookie信息到服务端,实际上大多数的应用都是用cookie来实现session跟踪的,第一次创建session的时候,服务端会在HTTP协议会话中告诉客户端,需要在cookie里面记录一个session ID,以后每次请求的时候会把这个会话ID发送给服务器,就知道是谁了。

    1.如果浏览器端禁用了cookie

    会使用一种URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如sid=xxxx这样的参数,服务端据此来识别客户。

    2.Cookie的一些用处

    Cookie其实还可以用在一些方便用户的场景下,设想你某次登录过一个网站,下次登录的时候不想再次输入账号了,怎么办?
    这个信息可以写到cookie里面,访问网站的时候,网站页面的脚本可以读取这个信息,就自动帮你把用户名和密码填充了。

    三、总结

    session是在服务器端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中
    cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。

  • 相关阅读:
    返回顶部按钮效果实现
    WebAPI Angularjs 上传文件
    C# 单元测试
    C# 如何获取Url的host以及是否是http
    Dapper批量操作实体
    易优CMS:type的基础用法
    易优CMS:arcview基础用法
    易优CMS:channel的基础用法
    易优CMS:arclist 文档列表
    c语言必背代码
  • 原文地址:https://www.cnblogs.com/sminocence/p/8367603.html
Copyright © 2020-2023  润新知