Session入门学习

Session学习

一.什么是session?

    当访问服务器否个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session,而这个内存是跟浏览器关联在一起的。在计算机中,尤其是在网络应用中,Session称为“会话控制”。

二.Session的作用    

    在Session出现之前,为了解决多次多次Http请求的关联,如登录一个界面,在发生跳转时候,下一个界面也保持登录状态,采用了Cookie,但Cookie保持在本地,不够安全,且大小有限,因此,Session应运而生。

    在Session不同于Cookie,它保存在了服务器内存中。因为HTTP是无关联的,可能在同一时间有许多人同时访问同一个页面,因此需要一个session_id来绑定一个用户。当一个用户在同一个网页中进行操作的时候,它根据传过来的信息生成session_id,并将其发送给客户端,这里默认浏览器支持使用cookie,客户端将session_id保存在cookie中,并在下次访问的时候带上session_id,这样就可以在跳转一个页面的时候,了解上个界面的数据,如上面所说的登录操作。

三.Session的应用

    (注:本文具体描述在Java的web后端开发的应用)

    Session的创建流程

        1.首先在程序为某个客户端创建session时候,服务器首先检测是否该请求里包含sessionid。

        2.若存在sessionId,表示已经创建过session,那么通过id去检索,但是因为session会在一段时间未被访问时被删除,有时候,会存在找不到session的情况,那么,在创建一个session。若请求中不包含sessionId,则创建一个与Session关联的Sessionid,并传给前端。

        3.前端将该session保存起来,在下一次访问的时候,带上上一步创建的sessionId(若该id未失效)则能够访问与该id有关的session。

    Session在java中的使用

        1.session调用的常见函数

            isNew():是否是新的Session,一般在第一次访问的时候出现

            getid():拿到session,获取ID

            getCreationTime():当前session创建的时间

            getLastAccessedTime():最近的一次访问这个session的时间。

            getRrquestedSessionid: 跟随上个网页cookies或者URL传过来的session

            isRequestedSessionIdFromCookie():是否通过Cookies传过来的

            isRequestedSessionIdFromURL():是否通过重写URL传过来的

            isRequestedSessionIdValid():是不是有效的sessionID

        2.如何从session中取值

            session使用key-map形式来保存数据因此,采用session.setAttribute("token",token)来保存数据,session.getAttribute("key")来获取session中保存的数据。


    


    

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。