关于Web应用与c/s应用的一些想法
2005-01-01 00:00
561 查看
本来是想想用b/s, c/s这样的字眼,但是我觉得b/s这个说法是很不规范的,b/s的s也并不对应c/s里的s,去google里搜一下b/s或者browser/server,好像结果也都是中文的,看来老外并不常这么讲,我总觉得在这行里老外常用的应该是比较规范的,当然也可能是不规范的;但老外不怎么用的,一定是不规范的;我记得以前一次面试,一个老外指着我简历问我那个b/s是指什么,我当时还很惊讶,心想:靠!不会吧,这都不知道。现在看来应该是我们错了。
废话说完,讲正事。其实有这些想法很久了。最初是接触小p巨牛无比的c/s框架后,对它里面的一些很酷的特性印象深刻,并想在web上实现。后来老杨建议先实现那个更改历史(amendment history)的特性,就开始考虑这事了。细想来,又发现web上实现并不像c/s架构下那么简单。考虑最简单的c/s架构:client-DB server,对应的web架构:browser-Client(即web server)-DB server。web应用中browser到Client(即web server)是无状态链接的,这就是问题的所在,要想同样实现c/s下一些功能,web上开销或者说成本就比较大了。比如实现amendment history,web server要在发送数据到浏览器(这里避免用客户端这个词)之前,维护数据的当前状态,简单实现的话就是把它扔到session里,浏览器下一个更新请求发送过来后,再进行数据比较。相比c/s下的实现肯定麻烦了很多。况且状态的维护并不能简单的去通过session来实现,我们不可能把大量的数据(或者对象)放到session里面,而且在跨域或者分布式的环境下,session的同步也是个问题。
看CSLA.Net的时候,看到它的Undoable(更改撤销)特性很高兴,以为改框架的web版也支持,看下去之后发现也只是其C/S版支持。看来web的无状态性质决定了c/s下的某些实现不能照搬过来。
废话说完,讲正事。其实有这些想法很久了。最初是接触小p巨牛无比的c/s框架后,对它里面的一些很酷的特性印象深刻,并想在web上实现。后来老杨建议先实现那个更改历史(amendment history)的特性,就开始考虑这事了。细想来,又发现web上实现并不像c/s架构下那么简单。考虑最简单的c/s架构:client-DB server,对应的web架构:browser-Client(即web server)-DB server。web应用中browser到Client(即web server)是无状态链接的,这就是问题的所在,要想同样实现c/s下一些功能,web上开销或者说成本就比较大了。比如实现amendment history,web server要在发送数据到浏览器(这里避免用客户端这个词)之前,维护数据的当前状态,简单实现的话就是把它扔到session里,浏览器下一个更新请求发送过来后,再进行数据比较。相比c/s下的实现肯定麻烦了很多。况且状态的维护并不能简单的去通过session来实现,我们不可能把大量的数据(或者对象)放到session里面,而且在跨域或者分布式的环境下,session的同步也是个问题。
看CSLA.Net的时候,看到它的Undoable(更改撤销)特性很高兴,以为改框架的web版也支持,看下去之后发现也只是其C/S版支持。看来web的无状态性质决定了c/s下的某些实现不能照搬过来。
相关文章推荐
- 关于Web应用与c/s应用的一些想法
- 关于.NET WEB应用系统UI层的一些思考
- 关于IEWebControls的安装及一些应用
- 关于Web Worker应用的一个想法和实现
- [记事] 关于WEB未来发展的一些想法
- 关于移动社交应用的一些想法
- 关于应用为王的未来发展趋势的一些想法
- 关于 Rich Client 应用的一些想法
- 关于IEWebControls的安装及一些应用
- 关于在Web应用中实现MDA+Component的几点想法
- [记事] 关于WEB未来发展的一些想法
- 关于web应用中跨域问题的解决方案,并特别针对移动方向提出一些解决方案
- 关于WEB服务器与应用服务器的一些理解和区别
- 关于运行时间的一些想法
- 关于特性回收的一些想法
- [Axure]关于微信实现横纵向拖动效果的一些想法
- linux下关于结构体stat的一些应用
- 这篇文章挺有意思 关于如何自学web前端以及一些面试的经验分享
- 关于新技术不断发展,淘汰的一些想法