在线考试在近几年有了不错的发展,但是基于前端的、利用HTML5存储技术的考试系统却并不多。
Cookie:cookie在web早期中应用广泛,但是cookie具有非常明显的局限性,cookie不但容量小,而且相当不安全,因此有些站点从安全方面考虑禁用了cookie。不但如此,cookie在每个请求发起时,都会传至服务器端,隐式的造成了带宽浪费。62372
Flash SharedObject:Flash在HTML5之前是一个最佳选择,因为其不但容量适中,又没有兼容性问题[2]。但是由于其依赖于Flash,需要额外引入swf和js文件,增加了带宽和处理逻辑的复杂度。此外,考虑到Flash经常爆出安全漏洞,Flash正在一步步走向灭亡。
Google Gears:Google开发的离线方案。由于官方推荐html5的localStorage方案,故本文不讨论。
User Data:微软为IE设置的存储方式。由于IE的特立独行论文网此属性只在IE下工作,在chrome等其它浏览器中不工作。
localStorage:相对于上述本地存储方案,localStorage有自身的优点:不但容量大而且原生支持,更加方便易用;缺点是在IE8以下的版本,并不支持localStorage[3]。此外,由于localStorage是明文存储,任何人都能查看,不宜存储保密信息。
考试系统的现状
国外一些著名的考试,如托福、MCSE(Microsoft 系统工程师认证考试)、GMAT(工商管理硕士入学考试)以及重点大学的面试等都是在网上进行的[4]。而国内的计算机等级考试也在2013年取消笔试改为完全上机考试。现有的考试系统,都是基于浏览器的在线答题,考生点击浏览器中的刷新按钮或者无意触发刷新快捷键,刷新后会发现考试时间会重置,所选答案没有记录,需重新做题等问题。而由于计算机死机、停电等原因考生需重新启动计算机之后,再次做题时发现答案未存储,从而浪费时间。考试时间结束时,由于考生的疏忽或者时间超过限制而没有交卷时,没有提供强制自动提交的机制。当考试结束后,由于网络等原因,考试答题无法上传服务器等问题。