存到cookie里能提高性能吗?
今天刚刚看了篇微信,大体意思是说g哥之类的网站把很多存session的东西都放cookie里了,可减少服务器的负担种种。然后我就发现我对request到application的记忆有些模糊了,哪些是在服务端的,哪些又是客户端的,来回读取这么方便还要ajax做什么用?引发了我的一顿思考。其实学的时候太注重实用,把太多心思用在实现项目功能上了,有些概念反而没有真的搞明白,看起来学的不错,就是坑太多。这个还真不能怪我,飘了那么久,到了这个年纪只想快快安稳下来,难免有些心急。
按照惯例,第一段结束了开正题。
request若是在客户端,那么又如何有getSession方法的呢?假设不在客户端,那么浏览器传参到parameter,就不应该在request里面读出来。所以request必然是在客户端,但是这个客户端的意义还是要重新理解,应该说是从客户端传过来,在服务器读取的,所以在客户端依然是不可见的,所以el表达式能读取,而js无法读取。就是说每次发起请求,会传一个request,连着cookie一起,而session和application是常驻服务端的,所以在同一次回话中,request,session,application可以自由相互通信,并不是说可以随意在客户端和服务端通信,一切都是发生在服务器,然后再由response生成html,html才是真正意义上的客户端。ajax是js级别的东西,属于html,所以也是客户端浏览器范畴。在各路脚本中,数el表达式最特别,他其实是在服务器端编译执行的,所以能读request,也就是说在传回浏览器的时候是看不到el表达式的,只能看到结果。当从服务端使用request存数据,它的意义就是在这一次请求中,用这些数据生成html,在jsp服务器上,所有的一切都是在response的输出流out来完成的,当发生了这一过程,request的生命周期就结束了,所以request本质上不会为你保存任何数据,所有用request传的javaBean,其实都是可以在servlet上多声明一个字段来代替,没有任何的传输过程,是这样吗?不要忘记还有请求的重定向机制,request是可以一层层传递的。这才是request的真意所在。吧一层层servlet的数据集中到同一个request请求对象,最终由el表达式体现到response的输出流中。session和application似乎就不在讨论范围内了,你连jdk的jar包都能调用,就更不用提这两个东西了。
那么,问题又回来了,我们如果把东西放很多在cookie里,势必每次请求都要发送大量数据,而且具有重复性,只要不清除cookie,每次都会把一样的数据多传一次,这样还不如直接把session生命周期调短一点管用。
存到cookie里能提高性能吗?的更多相关文章
- CSS性能分析,如何优化CSS提高性能
不负十年后的自己,共勉! 前端性能优化一直是一个比较热门的话题,我们总是在尽我们最大的努力去,提高我们的页面性能,比如减少HTTP请求,利用工具对资源进行合并压缩,脚本置底,避免重复请求,css sp ...
- 使用C# yield关键字来提高性能和可读性
对于”yield”这个关键字我已经见过N次了,直到最近我才知道这个关键字所蕴含的力量.我将在下面展示出一些使用”yield”让你的代码有更高可读性和更好性能的例子. 为了让你对yield有一些快速概览 ...
- 05_Smart-image通过SoftReference提高性能
文章导读: 文件介绍了常见的图片下载开源插件smart-image, 由于移动设备硬件受限,因此Android的相关app都要考虑到性能的关系, 所以很多的第三方插件都使用到了缓存cache技术,本人 ...
- FMDB官方使用文档-GCD的使用-提高性能(翻译)
FMDB官方使用文档-GCD的使用-提高性能(翻译) 发布于:2013-08-19 10:01阅读数:13395 由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍.与此 ...
- 转:使用WITH AS提高性能简化嵌套SQL
使用WITH AS提高性能简化嵌套SQL 一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片 ...
- Smart-image通过SoftReference提高性能
文章导读: 文件介绍了常见的图片下载开源插件smart-image, 由于移动设备硬件受限,因此Android的相关app都要考虑到性能的关系, 所以很多的第三方插件都使用到了缓存cache技术,本人 ...
- Linux kernel 的 sendfile 是如何提高性能的
Linux kernel 的 sendfile 是如何提高性能的 现在流行的 web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢? ...
- 22 mysql有那些”饮鸩止渴”提高性能的方法?
22 mysql有那些”饮鸩止渴”提高性能的方法? 正常的短连接模式是连接到数据库后,执行很少的SQL语句就断开,下次需要的时候再重新连接.如果使用的是短连接,在业务高峰期的时候,就可能出现连接数突然 ...
- php大型网站如何提高性能和并发访问
一.大型网站性能提高策略: 大型网站,比如门户网站,在面对大量用户访问.高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器.高性能的数据库.高效率的编程语言.还有高性能的Web容器. ...
随机推荐
- web开发字符乱码问题
java动态网页后台乱码问题总结 乱码可能出现的几块地方: 首先是浏览器和html之间采用的编码不一致 解决办法: 修改浏览器的编码格式 修改html页面的编码格式: <meta http-eq ...
- GCD 开发
一.简介 GCD 的全称是 Grand Centre Dispatch 是一个强大的任务编程管理工具.通过GCD你可以同步或者异步地执行block.function. 二.dispatch Queue ...
- Python_Day12_python mysql and ORM and redis
本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令事务 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql 1. 数 ...
- MySql 创建表 插入数据!
create table stu( id int, sname VARCHAR(20), sex VARCHAR(1), birthday DATETIME) insert into stu valu ...
- 【oracle】 oracle学习笔记1--安装与登录
由于机器配置原因,加上也是自学,所以就没必要安装专业版的oracle,于是就安装的oracle xe版本 下载地址:http://www.oracle.com/technetwork/database ...
- 数据挖掘算法(四)Apriori算法
参考文献: 关联分析之Apriori算法
- 十天精通CSS3学习笔记 part3
第8章 CSS3中的变形与动画(上) 变形--旋转 rotate() 旋转rotate()函数通过指定的角度参数使元素相对原点进行旋转.它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度. ...
- 第一个Asp.net小项目,主页写了下后台代码
一个比较完善的登录模块,就目前的知识范围来说应该算是完美的. 涉及到:cookies,Session,验证码等知识面 Cookies存放一组值: HttpCookie cook = new HttpC ...
- shell中创建mysql库和执行sql脚本
以前执行oracle脚本都是放到plsql中执行 mysql 脚本执行: (1).先创建一个worlddb库 (2).导入sql脚本: 这就ok啦,哈哈.
- linux上使用shell脚本查看内存使用率
如上的内存利用率 = [-/+buffers/cache:used]/[Mem:total ] = 6293404 / 16333656 对于free命令而言,有如下公式: total = used ...