存到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容器. ...
随机推荐
- AJAX总结
艾瑞宝迪,早上好,前端小菜鸟最近想更深入的了解ajax,无奈网上都没有看到合适系统的总结,于是心血来潮开始自己在博客园上的处女作,方便自己以后查看,也可以和大家一起交流
- express+gulp构建项目(四)env环境变量
这里的文件的作用是负责设置env环境变量和日志. index.js try { require('dotenv').load({silent: true}); //dotenv从一个.env文件中读取 ...
- C#基础
.net/dotnet:一般指.NetFramework框架,一种平台,一种技术. c#(sharp):一种编程语言,可以开发基于.net平台的应用. Java:是一种技术,又是一门语言: .net应 ...
- css学习笔记 4
伪类可以用来指定一个或多个与其相关的选择符的状态,如a:link a:active a:hover a:visited :ie7及以下不支持. 注意:上面与超链接相关的伪类的顺序必须是:LVHA. 伪 ...
- [HTML/HTML5]1 HTML文档设置
1.1 创建HTML文件 本质上,HTML文件就是具有下列两个特征的简单文本文件: HTML文件的扩展名为.html或者.htm.文件扩展名是一个缩写,它可将文件正确地关联到需要访问它的程序或工具. ...
- 20169212《Linux内核原理与分析》第六周作业
视频学习 一.用户态.内核态和中断 内核态:处于高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态 用户态:处于低的执行级别下,代码只能在级别允许的特定范围内活动.在日 ...
- Javascript设计模式(摘译)
说明: 未完成...更新中.... 一.javascipt设计模式分类 设计模式分类有很多标准,最流行的三种如下 1) creational -- 主要关注对象创建 Creational des ...
- [转载]SQL Server如何保证可空字段中非空值唯一
原文地址:http://www.cnblogs.com/caspnet/archive/2011/02/23/1962638.html 解决问题是:在一个表里面,有一个允许为空的字段,空是可以重复的, ...
- PDF 补丁丁 0.5.0.2273 测试版发布:修复崩溃问题,可自定义工具栏文本
新的测试版修复了编辑器在打开文件后再打开文件会崩溃的严重错误,以及一些小问题. 在一些小细节上作了调整,例如可自定义常用工具栏的文本等等. 由于之前测试版本的错误比较严重,推荐网友下载新的测试版.
- Scala 学习笔记(五)
def main(args : Array[String]): Unit = { def add(x:Int,y:Int):Int = { return x+y; } def subtract:(In ...