Session

作者: 懂会悟 | 来源:发表于2020-10-08 10:32 被阅读0次

    1、Session

    当访问服务器某个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session,产生每一个Session时都会同时产生一个session的唯一标识符:sessionID


    2、Session机制

    session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息。


    当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为sessionid),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含sessionid,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。


    保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。


    经常被使用的一种技术叫做URL重写,就是把sessionid直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。


    3、基于Session认证的缺陷

    • 每次认证用户发起请求时,服务器需要去创建一个记录来存储信息。当越来越多的用户发请求时,内存的开销也会不断增加。
    • 在服务端的内存中使用Seesion存储登录信息,伴随而来的是可扩展性问题。
    • 当我们需要让数据跨多台移动设备上使用时,跨域资源的共享会是一个让人头疼的问题。在使用Ajax抓取另一个域的资源,就可以会出现禁止请求的情况
    • 用户在访问银行网站时,他们很容易受到跨站请求伪造的攻击,并且能够被利用其访问其他的网站

    在这些问题中,可扩展行是最突出的


    相关文章

      网友评论

          本文标题:Session

          本文链接:https://www.haomeiwen.com/subject/goznsktx.html