zoukankan      html  css  js  c++  java
  • viewstate cookie和session原理回顾

    --个人理解会存在些错误仅供参考!!!

    ----浏览器保持会话状态原理

    用户发送一次请求,服务器端会检索报文中是否存在sessionid不存在,就分配一个写到cookie当中,存在
    浏览器的缓存中,当再次请求时,又被发送到服务器端,检索有的话,说明是同一客户端;

    ---session客户端原理:

    当用户发出请求后,就会在服务端开辟一块空间来存储session对象,浏览器通过发送服务端的cookie中的sessionid就能找到唯一标识的session;

    session也是用的对象池技术;

    ---viewstate原理:

    有两个问题:当客户端提交表单,并封装成http报文通过socket发给服务端,服务器怎么会知道用户点击了哪

    个按钮呢?那文本框的exchanged事件又是怎么触发的呢? 其实就是添加了hidden隐藏域标记;打开浏览器页面后台代码,会看到许多乱码,而这些乱码提交给服务器, 就会生成存储页面状态的原始数据;这些数据就告诉服务器客户端做了哪些事情, exchanged时间,通过比较隐藏域的存储的值和新状态的值,就可以知道,值是否发生了变化,是否要触发 exchanged事件。处理完成后,又会将新的viewstate覆盖原来的viewstate,重新生成hidden给客户端,来就行 下一次的提交。

    --cookie查看http请求报文中就可以知道cookie会随报文来回传递。后台通过request可是获取cookie,通过response设置cookie,当随响应报文传输到客户端,会加载到浏览器的cookie中。这样cookie就可以承载数据了。

  • 相关阅读:
    win32
    win32
    win32
    win32
    C++ 指针的错误释放
    交换两个数不引入第三个变量
    交换两个数不引入第三个变量
    hdu3986 spfa + 枚举最短路上的边
    hdu3986 spfa + 枚举最短路上的边
    hdu2433 spfa+mark[x][u][v]优化
  • 原文地址:https://www.cnblogs.com/guozefeng/p/3449080.html
Copyright © 2011-2022 走看看