今天刚刚看了篇微信,大体意思是说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. web.xml listener和event

    Listener接口 Event类 ServletContextListener ServletContextEvent ServletContextAttributeListener Servlet ...

  2. mysql 基础篇5(mysql语法---数据)

    6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...

  3. IE兼容问题,各类css hack代码(亲测有效)

    现在大部分企业对浏览器兼容要求是IE7+或者IE8+,要求IE6的很少,此处一并写出. IE6: _margin-top: 20px; IE6+IE7: *margin-top: 20px; +mar ...

  4. document.all.wb.ExecWB

      <%@ page language="java" pageEncoding="UTF-8"%>   <%@ taglib uri=&quo ...

  5. 网站整站下载工具—HTTrack Website Copier

    HTTrack是一个免费和易用的离线浏览工具(浏览器),它可以允许你下载整个WWW网站至本地目录,并且通过遍历网站目录获取HTML,图片和其他文件,是安全渗透测试和居家旅行必备软件. WinHTTra ...

  6. C#中图片与BASE64码互相转换

    //保存目录 string dir = "/upload/user/head"; //站点文件目录 string fileDir = HttpContext.Current.Ser ...

  7. 权重和层叠规则决定了CSS样式优先级

    一.基本的优先级规则 比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数,至于各级别的优先级如下: important > 内联 > ID > 类 > 标签 | ...

  8. 最近在做外贸网站的时候,需要大量的字体来充实页面,就学习了怎么引用Google Fonts

    第一步,FQ进入谷歌官方字体网站:https://fonts.google.com  妥妥的. 第二步,点击你所选择字体演示块的右上角的加号,然后你所选择的字体会形成引用链接以及你所要写的css样式. ...

  9. window.location.href无法跳转的解决办法

    -------------------接收别人做的SSO单点登录项目,无源码,只是点击登出按钮一直不跳转. 原因是: <a href="javascript:;" oncli ...

  10. ORACLE 误删除视图恢复

    1.使用 dba_views 回退到特定时间段,查看定义 select view_name,text from (select * From dba_views AS OF TIMESTAMP(SYS ...