状态管理

作者: itachi | 来源:发表于2016-12-29 10:45 被阅读14次

    1、状态管理
    (1)HTTP协议中每次连接处理一个请求,当连接断开时,服务器不会记住用户曾经访问过,该特点叫做无 状态,即HTTP协议是无状态协议
    (2)我们在做某些业务时,可能一些业务是多次请求并有关系的(连贯的),需要服务器知道本次的请求 和上次的请求时一个连贯的业务,如:记住我,登录检查
    (3)状态:记录一些数据,让服务器知道我曾经来过
    (4)管理:采用某些技术实现这种记录

    2、实现状态管理的技术
    (1)Cookie:将数据保存在浏览器端,每次浏览器访问服务器,都会携带cookie中的数据
    优点:服务器的压力小
    缺点:数据容易被篡改,不安全
    (2)Session:将数据保存在服务器端,需要给浏览器返回此数据的编号(sessionId),浏览器每次访问 服务器时需要携带此编号
    优点:相对安全
    缺点:服务器压力大

    3、Cookie
    浏览器访问服务器时,服务器将一些数据以set-cookie消息头的形式发送给浏览器,浏览器会将这些数据保 存在内存中,当浏览器再次访问服务器时,会将这些数据以cookie消息头的形式发送给服务器,通过这种方 式来管理状态。

    3.1 Cookie的创建
    Cookie cookie = new Cookie(String name, String value);
    response.addCookie(cookie);

    3.2 查询Cookie
    Cookie[ ] cookie = request.getCookies( );
    String name = cookie.getNmae( );
    String value = cookie.getValue( );
    //没有返回null

    3.3 Cookie保存编码问题
    Cookie的值只能是ASCII字符,若处理中,需要将中文转成ASCII字符形式可以使用 URLEncoder.encode( )方法和URLDecoder.decode( )方法进行转换

    3.4 Cookie的保存时间
    默认:浏览器关闭,cookie消失,可以是通过设置过期时间将其保存在硬盘上

    3.5 Cookie的路径
    浏览器访问服务器时,访问路径必须是创建Cookie时的路径或是其子路径才会携带cookie,否则浏览器访 问时不会发送cookie

    3.6Cookie的限制
    (1)cookie可以禁止
    (2)cookie的大小有限制
    (3)cookie的数量有限制(300)
    (4)cookie的值只能是字符串,要考虑编码问题
    (5)cookie不安全

    相关文章

      网友评论

        本文标题:状态管理

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