易截截图软件、单文件、免安装、纯绿色、仅160KB

关于AJAX、B/S、C/S的几个思考


B/S为何难于提供好的用户交互体验?
最大问题有几个:
  (1)无状态的HTTP协议
  WINDOWS窗体间能够通过内存直接交换信息,但作为B/S架构通讯基础协议的HTTP是无状态的。
  如果将浏览器看成是客人,Web服务器看成是旅馆,在HTTP协议的管理之下,会出现这种情况:不管某客人来访多少次,Web服务器都将其视为第一次的访客。这样一来,客人每次都得带齐身份证件供旅馆工作人员“验明正身”。
  HTTP协议的无状态,导致Web服务器的“六亲不认”,这固然能添加Web服务器的吞吐量,却给应用系统的开发带来了麻烦。因为应用系统中常常有许多业务处理流程,天生就是信息流转的,即原始数据从一端进去,从另一端出来时应该已经过某些处理,怎可想象整个业务流程中的信息会流失?于是,在HTTP各请求间共享信息就成了件麻烦事,这就是HTTP请求的“状态保持”问题。每个B/S系统都必须解决这个问题。微软想了一些“歪招”,比如充分利用HTML网页的中隐藏域,再在Web服务器上做些手脚,于是ASP.NET拥有了一套在各个HTTP请求之间维持状态的技术:SESSION,COOKIE,VIEWSTATE,PROFILE,APPLICATION。
  然而问题并没有完全解决。比如,C/S系统中常见的收集用户输入信息的对话框,主窗体与对话框之间有着信息的交换(又分为两种:模式的和非模式的,前者对话框不关掉,主窗体不能被激活),在B/S架构之下,由于浏览器的每个请求是独立的,要在两个独立的浏览器窗口间实现类似于模式对话框这种直接的信息交换,我还真不知道该怎样干。
  AJAX使用以下这种的方法来“摸拟”出模式窗体:将主窗体与对话框“合二为一”,对话框在HTML中就是一个DIV元素,平时是隐藏的,需要时再显示它。微软的AJAX CONTROL TOOLKIT中甚至为这一功能设计了一个控件。诸如此类的小伎俩,在B/S开发中不胜枚举。
  能够看到,许多在C/S轻而易举就可实现的功能,在B/S中要实现则大费周折。
  (2) 特殊的运行环境——浏览器
  B/S系统的前端运行环境是浏览器,这就带来了诸多的限制,不能干许多事,比如直接访问硬件(例如打印机),也无法充分利用硬件的资源。例如,现在的新电脑都是双核的,你能直接用JAVASCRIPT加HTML写出一个多线程程序以充分利用这两颗“奔腾的芯”?
  而C/S系统则直接运行在OS(操作系统)之上,能够调用OS提供的所有功能,这种限制就不存在了。


相关文档:

ajax 乱码

function verify() {
//解决中文乱麻问题的方法1,页面端发出的数据作一次encodeURI,服务器段使用new String(old.getBytes("iso8859-1"),"UTF-8");
//解决中文乱麻问题的方法2,页面端发出的数据作两次encodeURI,服务器段使用URLDecoder.decode(old,"UTF-8")
var url = &qu ......

C与C++的区别

1. C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级,C++和C是兄弟关系。没有谁比谁先进的说法,更重要的一点是C和C++各自的标准委员会是独立的,最新的C++标准是C++98,最新的C标准是C99。因此也没有先学C再说C++的说法,也不再(注意这个"不再")有C++语法是C语法的超集的说法。
2. C++/CL ......

C Snippet #8(规定时间输入,否则默认跳转的实现)

http://www.ddj.com/cpp/221600722
Q: HOW DO I... put timers with default actions in my C code?
A: Many times, we need to write programs that will only wait a certain specified amount of time for a user to do something. After that time, we need to assume that the user isn't going to do anything and ......

jquery php ajax json

just get a json
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<mce:script src="jquery-1.3.2.min.js" mce_src="jq ......

收藏的一个js ajax封装类

这个类摘自: ASP.NET Ajax典型应用 一书
xmlhttp.js
function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      elem ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号