现在大家学习的东西和以前大不相同了,越来越多的人倾向于去学习高新技术以获得更好的发展。java是很多人的第一选择。java中的知识还是很多的,今天就来为大家介绍一下。

首先来说一下java中session的工作原理是什么?

session的工作原理是客户端登录完成之后,服务器会创建对应的session,session创建完之后,会把session的id发送给客户端,客户端再存储到浏览器中。这样客户端每次访问服务器时,都会带着sessionid,服务器拿到sessionid之后,在内存找到与之对应的session这样就可以正常工作了。

然后简述一下,Cookies和session有什么区别?

Cookie和Session都是客户端与服务器之间保持状态的解决方案

一、存储的位置不同,cookie:存放在客户端,session:存放在服务端。Session存储的数据比较安全

二、存储的数据类型不同

两者都是key-value的结构,但针对value的类型是有差异的

cookie:value只能是字符串类型,session:value是Object类型

三、存储的数据大小限制不同

cookie:大小受浏览器的限制,很多是是4K的大小, session:理论上受当前内存的限制,

四、生命周期的控制

cookie的生命周期当浏览器关闭的时候,就消亡了

(1)cookie的生命周期是累计的,从创建时,就开始计时,20分钟后,cookie生命周期结束,

(2)session的生命周期是间隔的,从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁

最后为大家补充一下,一次完整的HTTP请求过程,如下所示:

域名解析-->发起TCP的3次握手-->建立TCP连接后发起http请求-->服务器响应http请求,浏览器得到html代码-->浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)-->浏览器对页面进行渲染呈现给用户。

以上就是关于java中session的工作原理是什么以及它和Cookies有何区别的主要内容了。具体的知识还是比较好理解的。如果你对java知识感兴趣,想要了解更多java基础知识,敬请关注奇Q工具网。

推荐阅读:

java中session的作用_java中session的工作原理是什么?和Cookies有何区别?相关推荐

  1. java中result的作用_JAVA中的Resultset

    JAVA中的Resultset (2012-04-21 14:53:34) 标签: it JAVA中Resultset是一个类 . 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结 ...

  2. java 矩形类的作用_java中关于矩形类

    创建矩形类Rectangle存储两个顶点坐标(m_x1,m_y1,m_x2,m_y2),构造方法接受2个顶点坐标的值,并调用设置方法setCoordinates将得到的坐标写入对应的属性中,设置方法s ...

  3. java中write方法作用_java中的封装,继承,多态,这3个在程序中起着重要作用

    一.封装 1. 封装概述 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改. 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问.要访 ...

  4. java中重写的作用_Java中的重写

    如果一个类从它的父类继承了一个方法,如果这个方法没有被标记为final ,就可以对这个方法进行重写. 重写的好处是:能够定义特定于子类类型的行为,这意味着子类能够基于要求来实现父类的方法. 在面向对象 ...

  5. java中catch的作用_Java中的try catch的作用

    http://wenwen.soso.com/z/q175197035.htm try{--}里面是一些你觉得可能会出问题的代码,catch里就是你觉得会有什么问题,如果出的问题正好是你catch里说 ...

  6. java关键字super的作用_java中super关键字的作用

    1.super关键字可以在子类的构造方法中显示地调用父类的构造方法,super()必须为子类构造函数中的第一行. 2.super可以用来访问父类的成员方法或变量,当子类成员变量或方法与父类有相同的名字 ...

  7. java中generics的作用_java中的Generics(泛型)

    从JDK5.0开始出现的泛型(Generics)功能.泛型提供编译时期的检查,不会将对象置于某个容器而失去其类型. 这个是JDK   1.5   的新特性. 举个例子. 一个列表中加入3个数字,然后从 ...

  8. java中hasnext的作用_java中Scanner的hasNext()的疑问

    第一个问题,两段代码的区别在于阻塞的位置不同,加上一行输出代码就可以很明显地看到差别. Test.java import java.util.Scanner; public class Test { ...

  9. java+session+存在哪_JAVA中Session

    会话状态的维持是开发Web应用所必须面对的问题,有多种方法可以来解决这个问题,如使用Cookies,hidden类型的表单域,或直接把状态信息加到URL中等,还有Servlet本身提供了一个HttpS ...

最新文章

  1. unity3d-----Collider 组件参考
  2. java 对比两个表的字段的差异_Joolun小程序商城 2.2.2版本上线了——Java微信快速开发平台...
  3. [vue] 你有使用做过vue与原生app交互吗?说说vue与ap交互的方法
  4. 澳元兑美元震荡整理,后市可否追高
  5. labview dll 崩溃
  6. .NET开发Silverlight程序:界面和对象模型
  7. Oracle Golden Gate - 概念和机制
  8. 34步优化sql语句
  9. 开课吧之Java常见面试题之RandomAccess接口
  10. 设计一个扩展自抽象类geometricobject_设计模式4之模板方法模式
  11. JavaScript 中的异步:Event Loop 及其他
  12. C#毕业设计——基于C#+asp.net+SQL server的房地产信息管理系统设计与实现(毕业论文+程序源码)——房地产信息管理系统
  13. 谷歌无法加载印象笔记剪辑插件
  14. 邮箱容量多大?163邮箱发邮件无限容量解读
  15. Python连接redis实现有序队列queue先进先出/后进先出
  16. 英伟达发布《永劫无间》最新显卡驱动更新,驱动人生升级教程
  17. input maxlength 属性不起作用
  18. 基于H5的Speedtest网速测试工具搭建
  19. 图像处理里面调色板(Palette)是什么意思?
  20. brk系统调用和copy-on-write机制

热门文章

  1. 浅析低功耗广域网及在智慧城市中的应用
  2. Gartner发布2021年低代码魔力象限,Mendix名列前位
  3. 数据结构与算法、讲解、动态规划一脸懵?看完之后轻松掌握!
  4. 奇奇怪怪的知识增加了,大括号的历史你知道吗?
  5. python苦逼_自学Python编程的第六天(最后代码有更好的请告诉我)----------来自苦逼的转行人...
  6. mac安装python环境教程_python mac下安装虚拟环境的图文教程
  7. linux函数进程撤销,Linux进程控制函数
  8. java怎么配置哨兵模式_redis 哨兵模式配置与spring集成
  9. 5款神器级别Github 的Chrome插件
  10. 一、项目管理框架【PMP 】