今天刚刚看了篇微信,大体意思是说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里能提高性能吗?的更多相关文章

  1. CSS性能分析,如何优化CSS提高性能

    不负十年后的自己,共勉! 前端性能优化一直是一个比较热门的话题,我们总是在尽我们最大的努力去,提高我们的页面性能,比如减少HTTP请求,利用工具对资源进行合并压缩,脚本置底,避免重复请求,css sp ...

  2. 使用C# yield关键字来提高性能和可读性

    对于”yield”这个关键字我已经见过N次了,直到最近我才知道这个关键字所蕴含的力量.我将在下面展示出一些使用”yield”让你的代码有更高可读性和更好性能的例子. 为了让你对yield有一些快速概览 ...

  3. 05_Smart-image通过SoftReference提高性能

    文章导读: 文件介绍了常见的图片下载开源插件smart-image, 由于移动设备硬件受限,因此Android的相关app都要考虑到性能的关系, 所以很多的第三方插件都使用到了缓存cache技术,本人 ...

  4. FMDB官方使用文档-GCD的使用-提高性能(翻译)

    FMDB官方使用文档-GCD的使用-提高性能(翻译) 发布于:2013-08-19 10:01阅读数:13395 由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍.与此 ...

  5. 转:使用WITH AS提高性能简化嵌套SQL

    使用WITH AS提高性能简化嵌套SQL   一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片 ...

  6. Smart-image通过SoftReference提高性能

    文章导读: 文件介绍了常见的图片下载开源插件smart-image, 由于移动设备硬件受限,因此Android的相关app都要考虑到性能的关系, 所以很多的第三方插件都使用到了缓存cache技术,本人 ...

  7. Linux kernel 的 sendfile 是如何提高性能的

    Linux kernel 的 sendfile 是如何提高性能的 现在流行的 web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢? ...

  8. 22 mysql有那些”饮鸩止渴”提高性能的方法?

    22 mysql有那些”饮鸩止渴”提高性能的方法? 正常的短连接模式是连接到数据库后,执行很少的SQL语句就断开,下次需要的时候再重新连接.如果使用的是短连接,在业务高峰期的时候,就可能出现连接数突然 ...

  9. php大型网站如何提高性能和并发访问

    一.大型网站性能提高策略: 大型网站,比如门户网站,在面对大量用户访问.高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器.高性能的数据库.高效率的编程语言.还有高性能的Web容器. ...

随机推荐

  1. 推荐相关学习 & 典型算法、典型特征、典型推荐系统框架

    总的来说,信息爆炸,产生了信息过载.解决的方法主要有两类:检索和推荐.检索是主动的有目的的.意图明确,推荐是非主动的.意图不明确. 推荐方面最经典的,就是协同过滤推荐了.我博客这里有两篇,一篇偏理论, ...

  2. checkbox属性checked="checked"已有,但却不显示打勾的解决办法

    2014-02-05 BIWEB开发技巧 9919 在做权限管理的时候,做了一个功能,就是当勾选栏目,把所有的权限全勾上.刚开始使用了如下代码: function check(id,check) { ...

  3. OpenCV计算点到直线的距离 数学法

    我们在检测图像的边缘图时,有时需要检测出直线目标,hough变换检测出直线后怎么能更进一步的缩小区域呢?其中,可以根据距离来再做一判断,就涉及到了点与直线的距离问题. 点到直线距离代码如下: //== ...

  4. HTML5 十大新特性(二)——表单新特性

    H5的表单新特性可以分为两大类. 一.10个input的type值 1.email:邮件输入域,在表单提交时提供简单的邮箱格式验证,并弹出一个提示窗口. 2.url:地址输入域,在表单提交时提供简单的 ...

  5. liunx ln -s 软连接

    项目中遇到不同项目中上传图片共享问题 解决方法就用到了 liunx的ln -s 的软连接, 用法: liunx ln -s 文件路径 实现共享思路:不同的目录都软连接到同一个目录

  6. 初探Backbone

    Backbone简介 中文API:http://www.csser.com/tools/backbone/backbone.js.html 英文API:http://backbonejs.org/ B ...

  7. 【原创】xgboost 特征评分的计算原理

    xgboost是基于GBDT原理进行改进的算法,效率高,并且可以进行并行化运算: 而且可以在训练的过程中给出各个特征的评分,从而表明每个特征对模型训练的重要性, 调用的源码就不准备详述,本文主要侧重的 ...

  8. js判断是否是微信浏览器

    <script type="text/javascript"> window.onload = function(){ if(isWeiXin()){ var p = ...

  9. webservice 实现json模式

    直接上代码 public string GetUserInfoByOpenid(string openid) { var weixinuser = new WeiXinUser(); weixinus ...

  10. 虚拟机解决Device eth0 does not seem to be present 问题。

    Device eth0 does not seem to be present... 出现这个问题基本上是因为虚拟机是克隆的导致机器的mac网卡不一致,所以系统识别网卡失败: