zoukankan      html  css  js  c++  java
  • Cookie与Session

    • HTTP协议是无连接无状态协议
    • 服务器可以向客户端写内容
    • Cookie只能是文本内容
    • 客户端可以阻止写Cookie
    • Cookie分为两类,一是属于窗口子窗口的,存在内存中。二是基于文本的,放在cookie的文件中。
    • Cookie跨域访问。
    • 父路径设置的Cookie,子路径可以访问读取。子路径设置的Cookie,父路径不能读取到。路径是URL,不是真实文件路径。

    写Cookie:

    Cookie cookie=new Cookie(“cookiename”,”CookieValue”);

    response.addCookie(cookie);

    cookie.setMaxAge(3600);

    读Cookie:

    Cookie[] cookies=request.getCookies();

    Cookie cook=cookies[0];

    cook.get

    Session

    Cookie是将信息保存到客户端,只能存字符串,大小为4k.有过期时间,可以设置过期时间。

    Session是将信息存在服务器端。可以存任意类型,大小没有限制,也可以设置过期时间。

    保存Seesion:

    HttpSession session=request.getSeesion(true);//true找不到则创建一个

    HttpSession是一个接口。

    session.getId();

    session.getAttribute(“name”);

    session.setAttribute(“name”,value);

    session.getCreationTime();

    session.getLastAccessedTime();

    有父子关系的浏览器窗口中可以去到Session的值。

    建立session的时候会像客户端传一个cookie,存的是sessionID的值。

    request.getRequestedSessionID() 获取从客户端带过来的sessionID值。

    request.isRequestedFromCookie() sessionID是否是从cookie中获取的。

    request.getRequestURL().tostring() 获取请求的URL地址。

    response.encodeURL(request.getRequestURL()):URL重写,解决客户端禁止了Cookie导致Session无用的问题。维护客户端与服务器之间的会话状态。

    Session总结:

    1.是服务器的一块内存。(key-value)

    2.和客户端窗口(及子窗口)对应。

    3.有过期时间。客户端和服务器有对应的SessionID.

    4.维护客户端与服务器端对应,防止禁用Cookie导致的问题:内存Cookie,URL重写。

  • 相关阅读:
    php 二维数组索引乱序 shuffle() 函数;
    php-m 与 phpinfo 不一致的解决办法
    javascript 数组去重
    javascript 闭包实现的5种方法
    javascript 下 function 和 Function的区别
    解决ThinkPhp在nginx下404问题
    TP5.1中的验证类 validate用法
    webstrom 快捷键
    css中可以和不可以继承的属性
    封装 class 类 js
  • 原文地址:https://www.cnblogs.com/guaniu/p/2318625.html
Copyright © 2011-2022 走看看